Chapter12 Stream and Files

ストリームの基本は以下の4つ。

  • InputStream
  • OutputStream
  • Reader
  • Writer

バイトを扱うのはInputStreamとOutputStreamで、Unicodeを扱うのはReaderとWriter。
ストリームの種類別に子クラスがある。なんと60種類以上。
読み書きは、readメソッド、writeメソッドで行う。

テキストの出力

テキストの出力は、PrintWriterを使うと楽にできる。
PrintWriterはそのままでは使えなくて、WriterかOutputStreamと組み合わせて使う。

  • new PrintWriter(new FileWriter("employee.txt"));
  • new PrintWriter(new FileOutputStream("employee.txt"));

PrintWriter(OutputStream)の場合、Unicodeとバイトの変換にOutputStreamWriterを使ってる。
読み書きは、printメソッド、printlnメソッドで行う。
AutoFlushをONにすると、println、printf、formatを使ったときに自動でフラッシュされるので便利。
例外を出力しないので、何か問題がおきたときはcheckErrorメソッドを使って確認する。

テキストの入力

テキストの入力は、BufferedReaderを使うと楽にできる。
BufferedReaderはそのままでは使えなくて、Reader(入力ソース)と組み合わせる必要がある。

  • new BufferedReader(new FileReader("employee.txt"));

読み書きは、readLineメソッドで行う。nullを返すと読み込み終了。
数値を読み込むときは、先にStringで入力して、次にNumber型に変換する必要があるけど、StringTokenizerを使うと便利になる。
(つづく)