バイナリファイルというと、テキストファイルと異なり、実際のデータ構造が見えにくいせいか、なにか特殊なものと敬遠されることが多いようです。しかし、バイナリファイルも、要は「byte型のデータの連なり」であるにすぎません。 テキストファイルを文字、あるいは行という単位で読み書きしたのと同様、バイナリファイルを読み書きする場合にはbyte値の単位でデータを処理する、それだけのことです。 ここでは、バイナリファイル入出力の最も基本的な例として、サーバ上にある画像データ(JPEG画像)を読み込み、ブラウザにそのまま出力してみましょう。もちろん、バイナリファイルを直接に出力するだけであるならば、クライアントからアクセス可能なディレクトリにファイルを配置してもよいかもしれません。しかし、バイナリファイル個々に対してアクセスの可否を制御したい場合やアクセス(ダウンロード)状況を監視したいなどといった場合に
![バイナリファイルの入出力処理を行う](https://cdn-ak-scissors.b.st-hatena.com/image/square/fdb32d507c029414db2f70d00938844ad6f593dd/height=288;version=1;width=512/https%3A%2F%2Fimage.itmedia.co.jp%2Fait%2Farticles%2F0312%2F16%2Fr20_wings.jpg)