LoginSignup
0
0

More than 1 year has passed since last update.

Javaプログラミングにおけるストリーム

Last updated at Posted at 2022-04-16

ストリーム (プログラミング)とは

メモリ領域やファイル、ネットワークに記載・格納されたデータを読み取る、
反対にそれらにデータを書き込むためのオブジェクトや、そのための機能を持つデータ型。
接続や切断、書き込みや読み込みなどを簡易な操作で行える。

InputStream/OutputStream

Javaのストリームオブジェクトで
データをバイナリ形式で読み取り/書き込みを行う。

必ずしもバイナリデータをやり取りするわけではなく、
FileOutputStreamなど、ファイルへの文字の書き込みをバイナリで行う事もできる。

バッファリング

ストリームオブジェクトがストリーム処理を、
一定のデータ量でまとめて行う事で、処理性能を上げられる機能。
バッファリングをしない場合、ストリームは1バイトずつ行われるが、
バッファリングをすることで、ストリームを最大1024バイトずつ行える。
Javaでは、BufferedOutputStreamクラスがバッファリング機能を提供している。

Writer/Reader

Javaのストリームオブジェクトで
文字列データの形式で読み取り/書き込みを行う。

PrintWriter

サーブレットがクライアントにデータ本文を送るためのストリームオブジェクト。
Writer抽象クラスの具象クラス。
コンテンツタイプに設定されている文字セットを使ってエンコーディングする。
デフォルトの文字セットは「ISO-8859-1(Latin1)」で、日本語が文字化けするため、
「setContentType」メソッド又は「setCharacterEncoding」メソッドで文字コードを設定する必要がある。

二つのメソッドはsetCharacterEncoding() は引数に文字コードのみを指定するのに対して、setContentType() は引数にMIME形式とともに文字コードを指定する違いがある。

MIMEタイプは、WEBサーバーとWEBブラウザの間でデータの形式を指定する方法。
人間やアプリケーションの拡張子のようなもの。
以下のようなものがある。

image.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0