Java FileOutputStreamクラス完全ガイド
Java FileOutputStreamクラス
FileOutputStreamクラス、そのコンストラクタ、主要メソッド、実践例を解説します。
FileOutputStreamクラスはjava.ioパッケージの一部で、ファイルに生のバイトデータを書き込むことを可能にします。抽象OutputStreamクラスを拡張し、バイナリファイル操作に不可欠です。
FileOutputStreamの作成
FileOutputStreamを作成するには、java.ioからクラスをインポートし、ファイルパスまたはFileオブジェクトでインスタンス化します。
1. ファイルパスを使用
// appendフラグ付き
FileOutputStream output = new FileOutputStream(String path, boolean append);
// appendフラグなし
FileOutputStream output = new FileOutputStream(String path);
appendブール値で、データをファイル末尾に追加(true)するか、既存コンテンツを上書き(false)するかを決定します。
2. Fileオブジェクトを使用
FileOutputStream output = new FileOutputStream(File fileObject);
このコンストラクタはfileObjectで表されるファイルにストリームをリンクします。
FileOutputStreamの主要メソッド
FileOutputStreamはOutputStreamから継承したいくつかのメソッドを実装し、それぞれバイト操作向けに調整されています。
write()
write(int b)– 1バイト書き込みwrite(byte[] b)– バイト配列全体を書き込みwrite(byte[] b, int off, int len)– オフセットoffからlenバイトを書き込み
例:テキストをファイルに書き込み
import java.io.FileOutputStream;
public class Main {
public static void main(String[] args) {
String data = "This is a line of text inside the file.";
try {
FileOutputStream output = new FileOutputStream("output.txt");
byte[] array = data.getBytes();
output.write(array);
output.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
このプログラムを実行すると、output.txtが作成され、上記の文が含まれます。getBytes()メソッドは文字列をUTF-8バイト表現に変換します。
flush()
flush()メソッドは、バッファされたバイトを即座にファイルに書き出します。ストリームを閉じる前にデータの持続性を確保する必要がある場合に有用です。
import java.io.FileOutputStream;
import java.io.IOException;
public class Main {
public static void main(String[] args) throws IOException {
FileOutputStream out = new FileOutputStream("flush.txt");
String data = "This is demo of flush method";
out.write(data.getBytes());
out.flush();
out.close();
}
}
close()
close()呼び出し後、ストリームは使用不能になります。システムリソースを解放し、ファイルハンドルが適切に解放されることを保証します。
FileOutputStreamのその他のメソッド
| メソッド | 説明 |
|---|---|
finalize() | ガベージコレクタによって呼び出され、close()が呼ばれることを保証 |
getChannel() | 高度なファイル操作用の関連FileChannelを返す |
getFD() | 基盤となるファイルディスクリプタを取得 |
詳細については公式Java FileOutputStreamドキュメントを参照。
Java
- Javaのfinalキーワード完全解説:変数、メソッド、クラスでの活用法
- Java instanceof演算子完全ガイド:基本から継承・インターフェースまで
- Java継承のマスター:概念、種類、実践例
- Java Staticネストクラスの理解:用法、違い、実例
- Java無名インナークラス完全ガイド:定義、構文、実践例
- Javaシングルトンパターン完全解説:安全な実装と活用法
- Javaリフレクション完全ガイド:実行時のクラス・メソッド・フィールド検査
- Java ArrayList完全マスター:操作・メソッド・ベストプラクティス
- Java ObjectOutputStream完全ガイド:シリアル化、メソッド、実践例
- Javaジェネリクス完全ガイド:再利用可能で型安全なコードの構築
- Javaファイル操作のマスター:java.ioによる作成・読み取り・書き込み・削除