【问题标题】:BufferedWriter does not write to file after flush and closeBufferedWriter 在刷新和关闭后不写入文件
【发布时间】:2017-09-15 00:19:52
【问题描述】:

我有以下示例应用程序,我在其中写入文件,并在关闭写入器后立即尝试从文件中读取,但令我惊讶的是没有写入文件。

我已确保在我读取文件之前调用了 flush() 和 close() 方法,但即使这样也对我没有帮助。

谁能帮我理解为什么下面的代码不起作用。

public class TestWrite_Read {

private File file;
private Writer writer;

public TestWrite_Read() {
    file = new File("E:\\temp\\test.txt");
    try {
        writer = new BufferedWriter(new FileWriter(file));
    } catch (IOException e) {
        e.printStackTrace();
    }
}

public static void main(String[] args) throws  Exception {
    new TestWrite_Read().write();
    new TestWrite_Read().read();
}

private void read() throws Exception {
    BufferedReader reader = new BufferedReader(new FileReader(file));
    System.out.println("reader.readLine() = " + reader.readLine());
    reader.close();
}

private void write() throws Exception {
    writer.write(String.valueOf(104));
    writer.flush();
    writer.close();
}}

【问题讨论】:

    标签: java bufferedreader bufferedwriter writer reader


    【解决方案1】:

    每次创建新的TestWrite_Read() 时,您都会打开文件进行输出,这会将其清空。

    不要那样做。如果您只想从文件中读取,请不要先打开它以进行 输出

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-03-21
      • 1970-01-01
      • 1970-01-01
      • 2017-08-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多