2009年2月5日木曜日

入出力(Stream、Reader、Writer)

StreamReader/Writer
  • 用途によって、さまざまなクラスが存在する
  • 基本的なクラスを順に特化したクラスに渡していく感じ
    System.in→InputStreamReader→BufferdReader
    File→FileReader
    File→FileOutputStream→DataOutputStream
    File→FileInputStream→BufferedInputStream→DataInputStream
  • どのような用途でどのクラスを使うのかはまだよくわからない
    ※コンストラクタによる違い
     FileInput/OutputStream: ファイル名(String)かFileオブジェクトから作成可能
     DataInput/OutputStream: Input/OutputStreamから作成可能
     BufferdInput/OutputStream: Input/OutputStreamから作成可能
     →ファイル名(String)かFileオブジェクトからFileInput/OutputStreamを作成
      →FileInput/OutputStreamからBufferdInput/OutputStreamを作成
        ※バッファリングが必要な場合のみ
       →BufferdInput/OutputStreamからDataInput/OutputStreamを作成
  • BufferなしReader
    1文字づつのreadではintで受ける
    データ終了は-1、内部データは16bit Unicode
    取得文字表示時はcharにキャスト