Java Writerクラス:文字ストリームをマスターする
Java Writerクラス – 文字ストリームをマスターする
Java Writer API、その主要サブクラス、コアメソッド、テキストをファイルに書き込むステップバイステップ例を解説します。
Writerとは?
java.io.Writer抽象クラスは文字出力ストリームを表します。直接インスタンス化できませんが、その具象サブクラスがファイル、文字列、ネットワークソケットへのタイプセーフなテキスト書き込みを提供します。
一般的なWriterサブクラス
- BufferedWriter – バッファリングを追加して効率的なI/Oを実現
- OutputStreamWriter – 指定charsetでバイトストリームを文字ストリームに橋渡し
- FileWriter – ローカルファイルシステムへの文字書き込みを簡素化
- StringWriter – メモリ内文字列バッファに書き込み
Writerインスタンスの作成
Writerをインスタンス化するには、パッケージをインポートし具象サブクラスを使用。例えばoutput.txtというファイルに書き込む場合:
import java.io.FileWriter;
import java.io.Writer;
Writer output = new FileWriter("output.txt");
Writerは抽象クラスなので、FileWriter、BufferedWriter、StringWriterなどのサブクラスを使用する必要があります。
ヒント: try-with-resourcesを使用してストリームを自動的に閉じ、例外をクリーンに処理。
主要なWriterメソッド
write(char[] cbuf)– 文字配列を書き込みwrite(String str)– 文字列を書き込みappend(char c)– 単一文字を追加flush()– バッファされたデータを強制的に書き出しclose()– ストリームを閉じ、リソースを解放
実践例:FileWriterでファイルに書き込み
try-with-resourcesを使用して文字列をoutput.txtに書き込む完全で本番対応の例:
import java.io.FileWriter;
import java.io.IOException;
import java.io.Writer;
public class Main {
public static void main(String[] args) {
String data = "This is the data in the output file";
try (Writer output = new FileWriter("output.txt")) {
output.write(data);
} catch (IOException e) {
System.err.println("ファイル書き込みエラー: " + e.getMessage());
}
}
}
このプログラムを実行すると、output.txtが以下の内容で作成されます:
This is the data in the output file
詳細については公式JavaドキュメントのWriterを参照。
Java
- Javaのfinalキーワード完全解説:変数、メソッド、クラスでの活用法
- Java instanceof演算子完全ガイド:基本から継承・インターフェースまで
- Java継承のマスター:概念、種類、実践例
- Java Staticネストクラスの理解:用法、違い、実例
- Java無名インナークラス完全ガイド:定義、構文、実践例
- Javaシングルトンパターン完全解説:安全な実装と活用法
- Javaリフレクション完全ガイド:実行時のクラス・メソッド・フィールド検査
- Java ArrayList完全マスター:操作・メソッド・ベストプラクティス
- Java ObjectOutputStream完全ガイド:シリアル化、メソッド、実践例
- Javaジェネリクス完全ガイド:再利用可能で型安全なコードの構築
- Javaファイル操作のマスター:java.ioによる作成・読み取り・書き込み・削除