java - BufferedWriter write() 不工作

标签 java file io

我正在尝试通过以下代码片段写入和写入文件。然而,文件已创建,但其中未写入任何内容。我已经测试过线路结构,没问题。

try{
    File file = new File("../received/"+nameFiles.get(op-1));
    BufferedWriter bw = new BufferedWriter( new FileWriter( file, true ) );
    for(String index : lines){
        bw.write(index);
        System.out.println(index);
    }
    System.out.println("Arquivo criado");
}catch(IOException ex){
    ex.printStackTrace();
}

最佳答案

您的代码存在一些缺陷:

  1. 你永远不会刷新 BufferedWriter
  2. 你也永远不会关闭它

以下代码应该可以解决您的问题:

final File file = new File("../received/"+nameFiles.get(op-1));
try(BufferedWriter bw = new BufferedWriter(new FileWriter(file, true) )){
    for(String index : lines){
        bw.write(index);
        System.out.println(index);
    }
    System.out.println("Arquivo criado");
} catch(IOException ex){
    ex.printStackTrace();
}

使用资源的 try 在离开 try-catch block 后调用 AutoCloseable#close() 方法。每当调用 close() 时。 BufferedWriter 还会调用 flush() 最终写入您的文件。

关于java - BufferedWriter write() 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50649948/

相关文章:

java - 如何使用嵌套的 json 数组反序列化 json 对象

Java安装错误: INSTALL_FAILED_MISSING_SHARED_LIBRARY maps

java - 是否可以在浏览器中进行路由跟踪?

python - 是否可以在 Python 中创建一个带有函数的文件?

c# - 如果文件存在,覆盖它?

android - 如何使用 FileInputStream 设置文件名?

java - 两个与Java类似的复制代码,两种行为

java - 字节流如何工作?

python - 使用 Python 就地重写文件

java - 我的 firebase 实时数据库路径不起作用