【Java】FileOutputStreamクラスを使ってファイルにデータを書き込む!

ファイルにデータを書き込むにはFileOutputStreamクラスを使用します。

FileOutputStreamクラスは、ファイルにバイト単位のデータを書き込むときに使用する出力ストリームのクラスです。

ストリームとはホースのようなもので、ホースの中に水が流れるように、ストリームの中をデータが流れていくイメージです。

そのため、FileOutputStreamクラスを使用すること作成したファイルにデータ内容を書き込むことができます。

今回はFileクラスのFileOutputStreamクラスを使って、ファイルにデータの書き込みを行っていきます。

FileOutputStreamクラスとは

FileOutputStreamクラスとは、ファイルにバイト単位のデータを書き込むときに使用する出力ストリームのクラスです。

FileOutputStreamクラスの書き方

FileOutputStreamクラスの構文は下記となります。

FileOutputStreamクラスが使用できるようにFileOutputStreamをインポートする必要があります。

インポートすることでwriteメソッドなど、FileOutputStreamクラスで準備されているメソッドを使用できるようになります。

ファイルにデータを書き込むサンプルコード

ファイルにデータを書き込むサンプルコードを紹介します。

出力結果

ABCDEF

サンプルコードをを実行すると、「C:\work」以下にStream1.txtとStream2.txtが作成され、Stream1.txtとStream2.txtの内容は、ABCDEFと表示されます。

FileChannelクラスを使用してファイルにデータを書き込む場合

サンプルコードのchannelメソッドでは、チャネルを使用してファイルにデータを書き込んでいます。
FileChannelクラスのインスタンスはFileOutputStreamクラスのgetChannelメソッドで取得します。

「Buffer」のサブクラスの「ByteBuffer」クラスに書き込むデータを設定し、FileChannelクラスの writeメソッドを呼び出してファイルにデータを書き込みます。

最後に「Channel」クラスから継承された「close」メソッドを呼び出し、チャネルを閉じます。

今回のポイント

FileOutputStreamクラスでファイルにデータを書き込む

ファイルにデータを書き込むにはFileOutputStreamlクラスを使用する。

⚫︎ リソースにデータを書き込む場合は、出力ストリームを使用し、リソースがファイルの場合は、FileOutputStreamクラスを使用する

⚫︎ FileOutputStreamクラスを作成する際、第1パラメータに出力したいファイルを、第2パラメータにtrueを指定すると、既存のファイルの内容に追加して書き込みを行うことができる

⚫︎ BufferedOutputStreamクラスを使用すると、ファイルへのデータの書き込みを効率よく行うことができる

⚫︎ BufferedOutputStreamクラスのwriteメソッドでデータの書き込みを行い、全てのデータの書き込みが終了したら、BufferedOutputStreamクラスのcloseメソッドを呼び出す

⚫︎ FileChannelクラスを使用してファイルにデータを書き込む場合はFileOutputStreamクラスgetChannelメソッドを使用する

関連記事

FileInputStreamクラスでファイルにデータを読み込む方法についてはこちらをご参考ください。

Writer
壷井

壷井

株式会社flyhawkの壷井です。フライテックメディア事業部でのメディア運営・ライター業務なども担当。愛機はMac Book AirとThinkPad。好きな言語:swift、JS系(Node.js等)。好きなサーバー:AWS。受託開発やプログラミングスクールの運営をしております。ご気軽にお問い合わせください。

最新の案件情報

フリーランスエンジニアの案件探し