先记录一个工具类,该类是将大文本文件分割,可以外部指定分割文件的大小
SplitFile.Java
package com.tencent.splitlarge.file;
import java.io.*;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
public class SplitFile {
public static void readFileByLines(String fileReadName,List<Integer> list) {
if(list == null || list.size() < 1){
throw new RuntimeException("输入的参数不正确");
}
String filePath = null;
if(fileReadName.contains("/")){
filePath = fileReadName.substring(0,fileReadName.lastIndexOf("/")+1);
}
if(fileReadName.contains("\\")){
filePath = fileReadName.substring(0,fileReadName.lastIndexOf("\\")+1);
}
//需要切分的文件份数
int size = list.size();
BufferedReader reader = null;
long count = 0;
String fileName = filePath + getDateString() + "_";
//1-20,21 - 51,
try {
FileWriter writer = new FileWriter(fileName + 1 + ".txt", true);
reader = new BufferedReader(new FileReader(fileReadName));
String lineTxt = null;
while ((lineTxt = reader.readLine()) != null) {
count ++;
writer.write(lineTxt);
writer.write("\r\n");
if(size > 1 && count >= list.get(0)){