关于java:为什么BufferedWriter不写入文件?

Why is BufferedWriter not writing to file?

我有以下代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
    String[] strings = {"Hi" ,"You","He","They","Tetrabenzene","Caaorine","Calorine"};

    File file = new File("G:\\\\words.txt");
    FileWriter fWriter;
    BufferedWriter bWriter;

    try {
        if((file.exists())) {
            file.createNewFile();
        }
        fWriter = new FileWriter(file.getAbsoluteFile(), true);
        bWriter = new BufferedWriter(fWriter);

        //Convert Result objects to JSON and write to file
        for(int j = 0; j < strings.length; ++j) {
            bWriter.write(strings[j]);
                bWriter.newLine();
                System.out.println("done");
        }
    }
    catch(IOException e) {e.printStackTrace();}

在此之前,我有几乎相同的代码2到3次,并且BufferedWriter编写得很完美。 但是由于某种原因,当我得到这段代码时,它没有编写。 我一直在寻找可能是错误的事情,但是我无法更改任何东西并对其进行快速测试,因为该程序仅花费10分钟即可到达此部分。

另外,该程序将"完成"打印到控制台,因此我知道它将进入for loop

关于我在做什么错的任何想法吗?


如果希望将数据实际刷新到磁盘上的文件,请调用bWriter.flush()
或者在与编写者完成工作后致电bWriter.close()
bWriter.close()调用将在内部调用bWriter.flush()


我假设您想添加if(!file.exists())而不是if((file.exists()))