怎么按照第一列Chr的名字(实际有很多)把数据分成不同的文件,就像图中显示的颜色那样区分,生成不同的文件
1.读取文件
2.获取首列去重后结果,生成列表L。
3.利用for遍历L,利用首列筛选得出结果,输出新文件
看你的标题,我觉得我应该会。但是正文完全看不懂。
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();
}
}
测试文件:
1 aaa1
1 aaa2
1 aaa3
2 bbb1
2 bbb2
2 bbb3
3 ccc1