JAVA 文件按照指定格式切分成多个文件

按照自定义规则,拆分文件

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.txtD://2.txtD://3.txt
文件内容同测试文件对应某行,前两行对应文件1.txt,3、4行对应文件2.txt,5行对应文件3.txt,以此类推

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ywh22122

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值