Java OutputStreamクラス:核心概念、メソッド、FileOutputStream実例
Java OutputStreamクラス
JavaのOutputStreamの基礎、主要メソッド、FileOutputStreamを使用した実践例を解説します。
OutputStreamクラスはjava.ioパッケージにあり、出力デスティネーションへのバイトストリームを表す抽象スーパークラスです。抽象クラスのため直接インスタンス化できず、具象サブクラスを使用して実際のI/O操作を行います。
OutputStreamの主要サブクラス
OutputStreamを拡張する最も一般的なサブクラス:
FileOutputStream– バイトを直接ファイルに書き込みByteArrayOutputStream– 拡張可能な配列にバイトを取得、メモリ内操作に有用ObjectOutputStream– Javaオブジェクトをバイトストリームにシリアル化
各サブクラスは専用チュートリアルで解説します。
OutputStreamインスタンスの作成
OutputStreamインスタンスを作成するには、パッケージをインポートし具象サブクラスをインスタンス化:
// FileOutputStreamをインスタンス化
OutputStream out = new FileOutputStream("example.txt");
OutputStreamは抽象クラスなので、常にサブクラスを使用する必要があります。上記はexample.txtに書き込むストリームを作成します。
ヒント: FileOutputStreamを他のサブクラス(ByteArrayOutputStreamなど)に置き換えて、異なるデスティネーションを対象にできます。
OutputStreamのコアメソッド
抽象クラスが宣言する、サブクラスが実装必須の主要メソッド:
write(int b)– 1バイトをストリームに書き込みwrite(byte[] b)– バイト配列全体を書き込みflush()– バッファされたデータを強制的に書き出しclose()– ストリームに関連するシステムリソースを解放
例:FileOutputStreamでテキストをファイルに書き込み
FileOutputStreamを使用してテキスト行をoutput.txtに書き込む完全なプログラム:
import java.io.FileOutputStream;
import java.io.OutputStream;
public class Main {
public static void main(String[] args) {
String data = "This is a line of text inside the file.";
try (OutputStream out = new FileOutputStream("output.txt")) {
byte[] dataBytes = data.getBytes();
out.write(dataBytes);
System.out.println("データをoutput.txtに書き込みました");
} catch (Exception e) {
e.printStackTrace();
}
}
}
示されている重要ポイント:
getBytes()でStringをバイト配列に変換write()でバイト配列をストリームに書き込み- try-with-resourcesブロックで自動的にストリームをクローズ(
close()を呼び出し)
実行後、output.txtには以下が含まれます:
This is a line of text inside the file.
詳細については公式Javaドキュメントを参照:Java OutputStream (公式Javaドキュメント)
Java
- Javaのfinalキーワード完全解説:変数、メソッド、クラスでの活用法
- Java instanceof演算子完全ガイド:基本から継承・インターフェースまで
- Java継承のマスター:概念、種類、実践例
- Java Staticネストクラスの理解:用法、違い、実例
- Java無名インナークラス完全ガイド:定義、構文、実践例
- Javaシングルトンパターン完全解説:安全な実装と活用法
- Javaリフレクション完全ガイド:実行時のクラス・メソッド・フィールド検査
- Java ArrayList完全マスター:操作・メソッド・ベストプラクティス
- Java ObjectOutputStream完全ガイド:シリアル化、メソッド、実践例
- Javaジェネリクス完全ガイド:再利用可能で型安全なコードの構築
- Javaファイル操作のマスター:java.ioによる作成・読み取り・書き込み・削除