java - 写入文件但仅保存最后一行

标签 java file io

我正在尝试复制一个文本文件,但是当代码执行完成时,我只有文件中的最后一行文本。显然, scanLine() 不断覆盖同一行,但我无法解决这个问题。有什么想法吗?

do{                 
  try{ 
    FileWriter name = new FileWriter("/home/fok/Desktop/out");
    BufferedWriter out = new BufferedWriter(name);
    a=x.nextLine();scanner x grabs next line and sets it string a
    out.write(a);//writes a to file
    out.close();//closees file
  } catch (IOException ioe){
    System.out.println("file writer error");
  } 

} while(x.hasNext());

最佳答案

这非常简单,您在 for 循环内关闭和打开文件。

 public void readfile(){
   try {           
     FileWriter name = new FileWriter("/home/fok/Desktop/out");
     BufferedWriter out = new BufferedWriter(name);
      do {                 
        a=x.nextLine();scanner x grabs next line and sets it string a
        out.write(a);//writes a to file
      } while(x.hasNext());
      out.close();//closees file
   } catch (IOException ioe){
      System.out.println("file writer error");
  }
}

关于java - 写入文件但仅保存最后一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15369884/

相关文章:

PHP上传文件增强安全性

c++ - QFileSystemWatcher : failed to add paths C: (can't watch Windows drives)

c - 防止重用文件描述符

java - 尝试运行我的代码时出现 NoSuchElementException 错误

java - 通过直接更改 FormData keyVals 的列表 jsoup 来更改 FormElement 的信息

java - 如何封装参数化消息的逻辑?

java - 如何获取我通过 System.out.println 发送的值?

java - 如何在 hibernate 中限制对象属性中的集合?

vb6 - 如何使用VB6获取目录中所有文件名的列表?

amazon-web-services - 为什么Disk Read And write看起来很小,IO却99.99%