0

テキスト ファイルをコピーしようとしていますが、コードの実行が終了すると、ファイルには最後のテキスト行しかありません。明らかに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());
4

1 に答える 1

1

とても簡単です。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");
  }
}
于 2013-03-12T19:06:19.087 に答える