按照自定义规则,拆分文件
1.测试文件路径:D://test.txt
2.截取规则content.substring(0,1);
3.第一个符合规则的字符串String lastA = "1";
4.输出路径D://" + lastA + ".txt
public static void main(String[] args) {
try {
File file = new File("D://test.txt");
InputStreamReader r = new InputStreamReader(new FileInputStream(file));
BufferedReader reader = new BufferedReader(r);
String content;
String lastA = "1";
StringBuffer sb = new StringBuffer("");
do{
content = reader.readLine();
if(content == null){
//最后一次输出
File outFile = new File("D://" + lastA + ".txt");
OutputStreamWriter writer = new OutputStreamWriter(new FileOutputStream(outFile));
writer.write(sb.toString());
writer.close();
break;
}
//注:你的截取规则
String a = content.substring(0,1);
if(a.equals(lastA)){
sb.append(content).append("\n");
}else{
//标识改变,输出文件
File outFile = new File("D://" + lastA + ".txt");
OutputStreamWriter writer = new OutputStreamWriter(new FileOutputStream(outFile));
writer.write(sb.toString());
//清空输出内容
sb = new StringBuffer("");
sb.append(content).append("\n");
writer.close();
}
lastA = a;
System.out.println("=======");
}while (true);
r.close();
reader.close();
} catch (Exception e) {
e.printStackTrace();
}
}
4.测试文件内容:
1 123456
1 1234567
2 123abc
2 abcd
3 abcd
上述文件会被切割成三个文件,分别是D://1.txt
、D://2.txt
、D://3.txt
文件内容同测试文件对应某行,前两行对应文件1.txt,3、4行对应文件2.txt,5行对应文件3.txt,以此类推