Java - テキストファイルの書き込み

テキストファイルに上書き書き込み

テキストファイルに上書きで文字を書き込むには FileWriter クラスを使用します。まず、書き込むファイルを対象として File クラスのオブジェクトを生成します。次に、そのオブジェクトを引数として FileWriter クラスのオブジェクトを生成します。

File file = new File("C:¥¥file.txt");
FileWriter fw = new FileWriter(file);
FileWriter クラス

ただし、FileWriter クラスのオブジェクトを生成する場合、IOException 例外が発生する可能性があるため、例外処理を施したサンプルコードは以下のように記述します。

try {
  File file = new File("C:¥¥file.txt");
  FileWriter fw = new FileWriter(file);
} catch(IOException e) {
  System.out.println(e);
}
FileWriter クラス

次にファイルに文字を書き込みます。書き込むためには write メソッドを使用します。

try {

  File file = new File("C:¥¥file.txt");
  FileWriter fw = new FileWriter(file);
  
  fw.write("Hello");
  
} catch(IOException e) {
  System.out.println(e);
}
FileWriter クラス

ファイルに対する処理がすべて完了した場合、close メソッドを使ってファイルを閉じます。

try {

  File file = new File("C:¥¥file.txt");
  FileWriter fw = new FileWriter(file);
  
  fw.write("Hello");
  fw.close();
  
} catch(IOException e) {
  System.out.println(e);
}
FileWriter クラス

テキストファイルに追記書き込み

テキストファイルに追記で文字を書き込むには FireWriter クラスのオブジェクトを生成する時に、2 番目の引数に true を指定します。

File file = new File("C:¥¥file.txt");
FileWriter fw = new FileWriter(file, true);
FileWriter クラス

追記書き込みの場合、ファイルの内容を消去せずに末尾から追加で書き込みが行われます。

try {

  File file = new File("C:¥¥file.txt");
  FileWriter fw = new FileWriter(file, true);
  
  fw.write("Hello");
  fw.close();
  
} catch(IOException e) {
  System.out.println(e);
}
FileWriter クラス

テキストファイルにまとめて書き込む

テキストファイルにまとめて書き込むには、BufferedWriter クラスを使用します。BufferedWriter クラスは FileWriter クラスを拡張する形で利用されます。具体的には、以下のように記述します。

File file = new File("C:¥¥file.txt");
FileWriter fw = new FileWriter(file);
BufferedWriter bw = new BufferedWriter(fw);
BufferedWriter クラス

FileWriter クラスのオブジェクトを引数として BufferedWriter クラスのオブジェクトを作成します。そして、BufferedWriter クラスのオブジェクトに対してファイルを書き込むための write メソッドを実行します。

try {

  File file = new File("C:¥¥file.txt");
  FileWriter fw = new FileWriter(file);
  BufferedWriter bw = new BufferedWriter(fw);
  
  bw.write("Hello");
  fw.close();
  
} catch(IOException e) {
  System.out.println(e);
}
FileWriter クラス

また、OS に合わせた改行コードを挿入する場合は newLine メソッドを使用します。

try {

  File file = new File("C:¥¥file.txt");
  FileWriter fw = new FileWriter(file);
  BufferedWriter bw = new BufferedWriter(fw);
  
  bw.write("Hello");
  bw.newLine();
  fw.close();
  
} catch(IOException e) {
  System.out.println(e);
}
FileWriter クラス

関連記事