[API] java.io.FileOutputStreamクラス

java.io.FileOutputStreamは、ファイルにバイトデータを書き込むためのクラスです。

java.io.FileOutputStreamの特徴

java.io.FileOutputStreamは以下の特徴があります。

  • ファイル内のデータをバイト単位で書き込む
  • ストリームを介して書き込むので効率的に書き込むことができる

java.io.FileOutputStreamの継承・実装

継承クラス

java.lang.Object
 ・java.io.OutputStream
  ・java.io.FileOutputStream

実装インターフェース

・java.io.Closeable
・java.io.Flushable
・java.lang.AutoCloseable

導入バージョン

・JDK1.0

java.io.FileOutputStreamのAPI

【主要コンストラクタ】
コンストラクタ名説明
FileOutputStream(File file)Fileオブジェクトから生成する
FileOutputStream(File file, boolean a)Fileオブジェクトから生成する
FileOutputStream(FileDescriptor fdObj)Fileオブジェクトから生成する
FileOutputStream(String name)パス文字列から生成する
FileOutputStream(String name, boolean a)パス文字列から生成する
【主要メソッド】
戻値型メソッド静的説明
voidclose()ファイル出力ストリームを閉じる
voidfinalize()ファイルへの接続をクリーンアップし、このストリームへの参照がなくなったときにこのファイル出力ストリームのcloseメソッドが呼び出されるようにする
FileChannelgetChannel()一意のFileChannelオブジェクトを返す
FileDescriptor getFD()ストリームに関連したファイル記述子を返す
voidwrite(byte[] b)指定されたバイト配列のb.lengthバイトをこのファイル出力ストリームに書き込む
voidwrite(byte[] b, int off, int len)指定されたバイト配列のオフセット位置offから始まるlenバイトをこのファイル出力ストリームに書き込む
voidwrite(int b)指定されたバイトをこのファイル出力ストリームに書き込む

java.io.FileOutputStreamサンプル

(バイナリファイル出力サンプル)

import java.io.FileOutputStream;
import java.io.IOException;

public class BinaryFileWriteSample {

    public static void main(String args[]) {

        try {
            //出力先を作成する
            FileOutputStream fos =
                new FileOutputStream("c:\\test.txt", false);  //※1

            //内容をバイト単位で指定する
            fos.write(65);    //AのASCIIコード(10進数)
            fos.write(66);    //BのASCIIコード(10進数)
            fos.write(67);    //CのASCIIコード(10進数)
            fos.write(68);    //DのASCIIコード(10進数)

            //ファイルに書き出す
            fos.close();

            //終了メッセージを画面に出力する
            System.out.println("出力が完了しました。");

        } catch (IOException ex) {
            //例外時処理
            ex.printStackTrace();
        }
    }
}

※1:2番目の引数をtrueにすると追記モード、falseにすると上書きモードになります。

(実行結果)
C:\>java BinaryFileWriteSample 出力が完了しました。
(出力されたファイル「test.txt」)
ABCD

コメント

タイトルとURLをコピーしました