Tips

【Java】PrintWriterで上書きではなく追記にする方法

【Java】PrintWriterで上書きではなく追記にする方法

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)

新連載はじまりました!新Java基礎 連載リンク

はじめてのJAVA 連載

Recent News

Recent Tips

Tag Search