Javaの入出力処理においてはほとんど上書き処理になってしまいます。
そこで今回はPrintWriterを使った出力時に追記にする方法をご紹介します。
早速ですがサンプルをみてみましょう。
import java.io.FileWriter; import java.io.IOException; import java.io.PrintWriter; public class AddWritingSample { public static void main(String[] args) { FileWriter fw = null; PrintWriter out = null; try { String path = "C:\\sample\\sample.txt"; fw = new FileWriter(path, true); out = new PrintWriter(fw); out.println("書き込み処理1"); out.println("書き込み処理2"); out.flush(); System.out.println("書き込み完了!"); } catch (IOException e) { e.printStackTrace(); } finally { if(out != null) { out.close(); } if(fw != null) { try { fw.close(); } catch (IOException e) { e.printStackTrace(); } } } } }
ポイントは11行目のFileWriterクラスです。
FileWriterのコンストラクタには第二引数にbooleanで追記かどうかを指定することができます。
trueだと追記、falseか指定なしだと上書きになります。
シグニチャ | public FileWriter(String fileName, boolean append) throws IOException |
---|---|
追記 | new FileWriter(path, true) |
上書き | new FileWriter(path, false) または new FileWriter(path) |