java - 用 Java 写入文件。帮我打码

标签 java file-io filewriter

我正在将文件路径传递给此方法,该方法写入 txt 文件。但是当我运行这个程序时,它并没有写完整,我不知道我哪里出错了。

public void content(String s) {
  try { 
    BufferedReader br=new BufferedReader(new FileReader(s)); 
    try {
      String read=s;
      while((read = br.readLine()) != null) {    
        PrintWriter out = new PrintWriter(new FileWriter("e:\\OP.txt"));
        out.write(read);
        out.close();
      }
    } catch(Exception e) { }    
  } catch(Exception e) { }
}

最佳答案

你不应该每次都在循环中创建你的 PrintWriter:

public void content(String s) {
   BufferedReader br=new BufferedReader(new FileReader(s));

   try {
      PrintWriter out=new PrintWriter(new FileWriter("e:\\OP.txt"));
      String read=null;

      while((read=br.readLine())!=null) {
         out.write(read);
      }
   } catch(Exception e) {
      //do something meaningfull}
   } finally {
      out.close();
   }
}

此外,正如其他人提到的那样,添加一个 finally block ,不要默默地捕获异常,并遵循 Java 编码约定。

关于java - 用 Java 写入文件。帮我打码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14504540/

相关文章:

java - 有没有办法在java中获取1.2346E+011的原始值123456789012?

java - 在java中将uint32数据从hdf5文件写入数组的最简单方法是什么?

C++ 文件操作在嵌入式 Linux 上导致 "crash"

python - 将列表从 python 保存到文本文件中

Java字符编码写入文本文件

java - RabbitMQ 真的可以与 Amazon MQ (ActiveMQ) 配合使用吗?

java - 为什么这个 Kotlin 类属性不公开?

java - 在java中增量访问文件,同时动态更新文件?

java - 如何将外部 .txt 文件中的文本与字符串进行比较

c - 写入一个大文件或多个小文件