java bufferedReader 读出来为什么都是空的?

帮朋友提问:


        File file1 = new File("D:\\a.txt");

        File file2 = new File("D:\\a.txt");

        FileWriter fileWriter2 = new FileWriter(file2);

        FileReader fileReader = new FileReader(file1);

        BufferedReader bufferedReader = new BufferedReader(fileReader);

        BufferedWriter bufferedWriter2 = new BufferedWriter(fileWriter2);

        String length = null;

            

        while((length=bufferedReader.readLine())!=null) {

            System.out.println(length);

            

            bufferedWriter2.write(length);

        }

        fileReader.close();

        bufferedWriter2.close();

这段代码为什么读到的length都是null?

我个人觉得是因为file1和file2同时打开a.txt,会出现读写冲突,导致都出来的都是null,不知大家怎么看?


慕盖茨4494581
浏览 1129回答 3
3回答

holdtom

我测试了一下new FileWriter(file2)自动清空了文件内容... 但是查了一下文档没规定new的时候可以把内容全清空掉....

摇曳的蔷薇

FileWriter fileWriter2 = new FileWriter(file2,true);创建FileWriter 改append为true
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java