Javaの基礎!テキスト・バイナリファイルの出力方法&ストリームとは
- ツイート
-
- 2018/02/21
Javaプログラミングのビギナーを脱して中級者を目指す方に、ぜひ覚えていただきたい内容が「ファイルの入出力」です。ファイルの読み込みや書き出しができるようになれば、「ショッピングサイトの顧客情報が保存されているデータベースから必要なデータを取得し、ファイルに出力する」ということもできるようになります。
そこで今回は、テキストファイルとバイナリファイルの出力方法やストリームについてご紹介します。
IT業界まるわかりガイドは、日本初Web専門スクールのインターネット・アカデミーが運営する業界情報メディアです。最新の業界情報を、初心者にも分かりやすくご紹介しています。
目次
そもそも「ファイル」とは?
すべてのデータはファイルとして保存されています。最初にファイルとストリームについて整理しておきます。
ファイルの種類
ファイルは、テキストファイルとバイナリファイルに分けられます。テキスト(文字)データのみで構成されるファイルがテキストファイル、テキストデータ以外のデータ(バイナリデータ)を含むファイルがバイナリファイルです。
テキストファイルは一般的に「.txt」という拡張子を持ち、Windowsのメモ帳やMacのテキストエディットで読み込みや書き込みができます。バイナリファイルは画像や音楽、動画などのデータを含むため、拡張子もそれぞれ異なります。また、テキストファイルと比較してデータサイズは大きくなります。
ストリームとは
Javaにおけるファイル入出力時のデータの流れを「ストリーム」といいます。ファイルを読み込む際のデータの流れが「入力ストリーム」、ファイルを出力する際のデータの流れが「出力ストリーム」です。
テキストファイルの出力
ストリームによるファイル出力の際は、「ファイルを開く」「ファイルにデータを書き込む」「ファイルを閉じる」という一連の手順を踏みます。テキストファイルの出力には、FileWriterクラスを利用します。
ファイルを開く
FileWriterクラスのオブジェクト生成によって、ファイルのオープンが実行されます。ファイルを開けなかった際は「IOException」と呼ばれる例外が発生するため、例外処理の記述が必須です。
【書式】
FileWriter 変数名 = new FileWriter(ファイル名);
ファイルにデータを書き込む
ファイルへの書き込みにはwriteメソッドを使います。先ほど生成したオブジェクトのwriteメソッドの引数に、出力させたい文字列を与えます。
【書式】
変数名.write(出力させたい文字列);
ファイルを閉じる
ファイルのクローズは、closeメソッドを使います。closeメソッドの実行によってファイルに文字列が書き込まれ、ファイルが自動的に閉じられます。
【書式】
変数名.close();
バイナリファイルの出力
テキストファイルの出力にはFileWriterクラスが用いられますが、バイナリファイルの出力はFileOutputStreamクラスを使って処理します。
「ファイルを開く」「ファイルにデータを書き込む」「ファイルを閉じる」という処理手順は、テキストファイルの出力のときと同じです。
ファイルを開く
FileOutputStreamクラスのオブジェクトの生成によって、ファイルのオープンが実行されます。例外処理の記述も忘れないようにしてください。
【書式】
FileOutputStream 変数名 = new FileOutputStream(ファイル名);
ファイルにデータを書き込む
ファイルへのデータ書き込みは、writeメソッドを用います。引数にはint型もしくはbyte型を指定します。
【書式】
変数名.write(書き込みたいデータ)
ファイルを閉じる
最後にcloseメソッドでファイルを閉じます。
【書式】
変数名.close()
おわりに
ファイルの出力処理は、FileWriterクラスやFileOutputStreamクラスを使うことで簡単に実装できます。理解を深めるためには、コードを実際に書いて動作を確認することが効果的です。ファイルの出力処理ができるようになったら、入力処理にもチャレンジしてみましょう。
インターネット・アカデミーのJava講座は、一流のプロ講師から現場の実践的知識を学べます。Javaを体系的に身に付けたいという方は、ぜひ無料体験レッスンにご参加ください。