[API] java.io.FileOutputStream

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

java.io.FileOutputStreamの特徴

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

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

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をコピーしました