Caution
お使いのブラウザはJavaScriptが実行できない状態になっております。
当サイトはWebプログラミングの情報サイトの為、
JavaScriptが実行できない環境では正しいコンテンツが提供出来ません。
JavaScriptが実行可能な状態でご閲覧頂くようお願い申し上げます。
Files.writeString() / Files.write()
ファイルに文字列やバイト列を書き込むメソッドです(Java 11+)。Files クラスのユーティリティメソッドを使うことで、ストリームを明示的に扱わずにシンプルな書き込みが可能です。追記モードには StandardOpenOption.APPEND を使用します。
構文
// ファイルに文字列を書き込みます(Java 11+)。
Files.writeString(Path.of("ファイルパス"), 文字列);
// 追記モードで書き込みます。
Files.writeString(Path.of("ファイルパス"), 文字列, StandardOpenOption.APPEND);
// バイト列または文字列リストを書き込みます。
Files.write(Path.of("ファイルパス"), リスト);
// 追記モードで書き込みます。
Files.write(Path.of("ファイルパス"), バイト列, StandardOpenOption.APPEND);
メソッド一覧
| メソッド・オプション | 概要 |
|---|---|
| Files.writeString(Path, String) | 文字列をファイルに書き込みます(Java 11+)。デフォルトはファイルを上書きします。 |
| Files.write(Path, List<String>) | 文字列リストの各要素を1行として書き込みます。 |
| Files.write(Path, byte[]) | バイト配列をファイルに書き込みます。 |
| StandardOpenOption.APPEND | 既存のファイルに追記するオプションです。 |
| StandardOpenOption.CREATE | ファイルが存在しない場合に作成するオプションです(デフォルト動作に含まれます)。 |
サンプルコード
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.StandardOpenOption;
import java.util.Arrays;
import java.util.List;
// ファイルに文字列を書き込みます(上書き)。
try {
Files.writeString(Path.of("output.txt"), "Hello, Java!\n");
System.out.println("書き込みが完了しました。");
} catch (IOException e) {
e.printStackTrace();
}
// ファイルに追記します。
try {
Files.writeString(
Path.of("output.txt"),
"追記した行\n",
StandardOpenOption.APPEND
);
} catch (IOException e) {
e.printStackTrace();
}
// 文字列リストを書き込みます(各要素が1行になります)。
List<String> lines = Arrays.asList("1行目", "2行目", "3行目");
try {
Files.write(Path.of("lines.txt"), lines);
System.out.println("リストの書き込みが完了しました。");
} catch (IOException e) {
e.printStackTrace();
}
// 読み込んで内容を確認します。
try {
String content = Files.readString(Path.of("lines.txt"));
System.out.println(content);
} catch (IOException e) {
e.printStackTrace();
}
概要
『writeString()』はデフォルトでファイルを上書き(CREATE・WRITE・TRUNCATE_EXISTING)します。既存ファイルを誤って上書きしないよう、追記の場合は必ず StandardOpenOption.APPEND を指定してください。
デフォルトの文字コードは UTF-8 です。異なる文字コードで書き込む場合は引数に Charset を追加します(例: Files.writeString(path, str, StandardCharsets.UTF_8))。
ファイルの読み込みについては『Files.readString() / Files.readAllLines()』を参照してください。
記事の間違いや著作権の侵害等ございましたらお手数ですがこちらまでご連絡頂ければ幸いです。