怎么根据文本第一列内容把文件分开!

怎么按照第一列Chr的名字(实际有很多)把数据分成不同的文件,就像图中显示的颜色那样区分,生成不同的文件

img

问题相关代码,请勿粘贴截图
运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果

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