我是靠谱客的博主 阳光冬天,这篇文章主要介绍文本文件切割工具,现在分享给大家,希望可以做个参考。

        在日常工作中,有时因平台限制或工作需要,需将一个大文件按行或文件大小分割成若干个小文件。本工具是基于行对大文本文件进行切割设计的,如需按文件大小切割,可根据大文件大小结合总行数大体估算下单文件大体行数,进行简单换算。

Maven项目引入

复制代码
1
2
3
4
5
<dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.6</version> </dependency>

JAVA源码 txtSplit

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
package com.caryeko; import org.apache.commons.io.FileUtils; import java.io.File; import java.io.IOException; import java.util.List; /** * 〈文本文件切割工具〉 * 〈在日常工作中,有时因平台限制,需要将一个大文件按行分割成若干个小文件〉 * * @author caryeko * @Date 2021/7/17 */ public class App { public static void main(String[] args) { // 待处理的大文件 String fileName = "C:\Users\caryeko\Desktop\数据清洗\sql数据切割\测试数据.sql"; // 分割多少个文件 int splitFileNum = 6; txtSplit(fileName, splitFileNum); } private static void txtSplit(String fileName, int splitFileNum) { System.out.println(String.format("文档[%s]期望切割为[%d]个小文件开始!", fileName, splitFileNum)); try { // 构建大文件对象 File file = new File(fileName); // 读取txt/sql文件 List fileLines = FileUtils.readLines(file, "UTF-8"); // 计算总行数 int totalLine = fileLines.size(); // 单文件行数=总行数/文件个数 int singleFileLine = (int) Math.round((totalLine / splitFileNum) + 0.5); // 循环生成子文件 for (int i = 0; i < splitFileNum; i++) { // 分割生成子文件-后缀名 0_xxx 1_xxx File singleFile = new File(file.getParentFile() + File.separator + i + "_" + file.getName()); System.out.println(singleFile.getName()); // 一次读入singleFileLine行 int start = i * singleFileLine; int end = (i + 1) * singleFileLine; if (end > totalLine) { end = totalLine; } FileUtils.writeLines(singleFile, fileLines.subList(start, end)); } } catch (IOException e) { System.out.println(String.format("文档[%s]期望切割为[%d]个小文件发生异常:n%s", fileName, splitFileNum, e)); e.printStackTrace(); return; } System.out.println(String.format("文档[%s]期望切割为[%d]个小文件完毕!", fileName, splitFileNum)); } }

工具推荐[PilotEdit Lite]

        平日我们处理的文本文件一般都比较小,用常用的编辑软件大都没啥问题,但如果遇到了超过10MB以上的文件似乎【Notepad++】这类编辑软件就有点不给力了,自己特意去网上搜索了下支持超大文本编辑的软件,还真有一款用起来非常舒适的,她就是[PilotEdit Lite],支持中文界面,交互友好,用起来超赞,Lite是免费社区版本,如需更强大的功能,可付费购买完整版。

        官网下载地址:PilotEdit - Edit and Compare Large Files

最后

以上就是阳光冬天最近收集整理的关于文本文件切割工具的全部内容,更多相关文本文件切割工具内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(79)

评论列表共有 0 条评论

立即
投稿
返回
顶部