Java入力の図ですでに示した通り、Javaの入力はInputStreamクラス系とReaderクラス系に大きく
二分されていることが分かる。これらをそれぞれバイトストリームと文字ストリームと呼ぶ。
こういったクラスで文字を読み込むときには大抵read(),close()といった関数が用意されている。
以下主要なものの説明。
InputStream:
バイト入力ストリームを扱うクラス。
FileInputStream:
ファイルから入力バイトを取得する。
File fileName = new File("sample.txt")
FileInputStream filereader = new FileInputStream(file); //ファイル名を直接引数としても良い。
byte[] b = new byte[(int)fileName.length()];
file.read(b);
String str = new String(b,"UTF-8");
Reader:
文字ストリームを読み込む抽象クラス。
サブクラスでread(char[], int, int) と close()を実装する必要あり。
InputStreamReader:
バイト入力ストリームから文字入力ストリームの橋渡しを行う。
InputStreamReader reader = new InputStreamReader(bytestream, encoding);
以下のようにBufferedReaderでラップさせて使うことが多い。
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
BufferedReader:
文字、配列、行をバッファする。read()やreadLine()呼び出しごとに読み込み変換を行わず、効率よく
変換を行うために使う。
FileReader:
文字ファイルから読み込みを行うためのクラス。
FileReader reader = new FileReader("sample.txt");
これも以下のようにBufferedReaderでラップさせて使うことが多い。
BufferedReader reader = new BufferedReader(new FileReader(filename));
最終更新:2013年12月28日 22:40