Java FileWriter完全チュートリアル:文字データのファイル書き込み
Java FileWriter完全チュートリアル
JavaのFileWriterを使用して文字データをファイルに書き込む方法を、明確な例、エンコーディングオプション、主要メソッドで解説します。
java.ioパッケージのFileWriterクラスは、テキストをファイルに書き込むためのシンプルなツールです。OutputStreamWriterを拡張し、明示的に設定しない限りプラットフォームの文字エンコーディングをデフォルトとします。
FileWriterの作成
FileWriterをインスタンス化するには、まずクラスをインポート:
import java.io.FileWriter;
FileWriterの作成方法はいくつかあります:
- ファイル名で
FileWriter output = new FileWriter("output.txt"); FileオブジェクトでFile file = new File("output.txt"); FileWriter output = new FileWriter(file);- 明示的charsetで(Java 11+)
FileWriter output = new FileWriter("output.txt", StandardCharsets.UTF_8);
charsetを指定するとクロスプラットフォームで一貫した動作が保証されます。
FileWriterの主要メソッド
write()
write(int c)– 1文字書き込みwrite(char[] cbuf)– 文字配列を書き込みwrite(String str)– 文字列を書き込み
例:テキストをファイルに書き込み
import java.io.FileWriter;
public class Main {
public static void main(String[] args) {
String data = "This is the data in the output file";
try (FileWriter writer = new FileWriter("output.txt")) {
writer.write(data);
} catch (Exception e) {
e.printStackTrace();
}
}
}
このプログラムを実行すると、output.txtが作成され以下が含まれます:
This is the data in the output file
getEncoding()
getEncoding()メソッドでライターが使用する文字セットを確認:
import java.io.FileWriter;
import java.nio.charset.StandardCharsets;
public class Main {
public static void main(String[] args) {
try {
FileWriter defaultWriter = new FileWriter("output.txt");
FileWriter utf8Writer = new FileWriter("output.txt", StandardCharsets.UTF_8);
System.out.println("デフォルトエンコーディング: " + defaultWriter.getEncoding());
System.out.println("UTF-8エンコーディング: " + utf8Writer.getEncoding());
defaultWriter.close();
utf8Writer.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
出力:
デフォルトエンコーディング: Cp1252
UTF-8エンコーディング: UTF-8
信頼できるエンコーディング名にはCharset.forName()やStandardCharsetsを使用。
ヒント: 詳細については公式Java FileWriterドキュメントを参照。
close()
FileWriterは常に閉じる(またはtry-with-resourcesブロックを使用)してバッファをフラッシュし、システムリソースを解放。閉じた後はライターを再利用できません。
その他の便利なメソッド
| メソッド | 説明 |
|---|---|
flush() | バッファされたデータを即座に基盤ストリームに書き出し |
append() | 文字や文字列をライターに便利に追加 |
メソッドの完全なリストは公式Java FileWriter APIを参照。
Java
- Javaのfinalキーワード完全解説:変数、メソッド、クラスでの活用法
- Java instanceof演算子完全ガイド:基本から継承・インターフェースまで
- Java継承のマスター:概念、種類、実践例
- Java Staticネストクラスの理解:用法、違い、実例
- Java無名インナークラス完全ガイド:定義、構文、実践例
- Javaシングルトンパターン完全解説:安全な実装と活用法
- Javaリフレクション完全ガイド:実行時のクラス・メソッド・フィールド検査
- Java ObjectOutputStream完全ガイド:シリアル化、メソッド、実践例
- Java BufferedReader完全ガイド:効率的な文字ストリーム処理
- Javaジェネリクス完全ガイド:再利用可能で型安全なコードの構築
- Javaファイル操作のマスター:java.ioによる作成・読み取り・書き込み・削除