gu123xin 2018-08-17 03:32 采纳率: 100%
浏览 846
已采纳

java以字符流的形式清洗超大文本

我用 BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(new File("D:\ccc.txt")),"UTF-8"));
BufferedInputStream inputStream = new BufferedInputStream(new FileInputStream(file));
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream),5*1024*1024);方式清洗大约2G的文本,也是会包内存不足图片说明
上面是清洗之前的
下面是清洗之后的图片说明
问了其他人,说字符流可以实现,要怎么实现,麻烦详细些,谢谢

  • 写回答

5条回答 默认 最新

  • z8g 2018-08-17 04:44
    关注

    楼主试试

     import java.io.BufferedReader;
    import java.io.BufferedWriter;
    import java.io.FileNotFoundException;
    import java.io.FileReader;
    import java.io.FileWriter;
    import java.io.IOException;
    
    public class QingXi {
        public static void main(String[]args) throws FileNotFoundException, IOException{
    
            String pathRead = "D:/test_input.txt";
            String pathWrite = "D:/test_output.txt";
    
            FileReader fr = new FileReader(pathRead);
            FileWriter fw = new FileWriter(pathWrite);
    
            BufferedReader br = new BufferedReader(fr);
            BufferedWriter wr = new BufferedWriter(fw);
    
            String line = br.readLine();
            while(line != null){
                String str = line.replaceAll("---", ",");
                wr.append(str);
                wr.append("\n");
    
                line = br.readLine();
            }
            wr.flush();
    
            wr.close();
            br.close();
            fw.close();
            fr.close();
        }
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?