Programming Methodology 15

今回は、Fileの取り扱い方について語られていました。また、それに付随するトピックとして「例外」にも触れられていました。

  • 前回の続き
    • primitiveTypeがパラメータとして渡されると、その値はコピーされる
    • Objectsの場合は、passing by objects(reference)
      • 実体のアドレスが渡される
      • Mafia(誰がどこにいるかを知っている)
    • primitiveTypeには、それに対応するimmutableなClassがある
  • Filesについて
    • open
      • diskにあるfileを指すポインタを持つobjectを生成(BufferdReader)
      • BufferdReader rd = new BufferdReader(new FileReader("fileName"));
    • read file
      • line by line
      • String line = rd.readLine();
      • line == nullなら、ファイルの終わりを示す
    • close
      • rd.close();
  • Exceptionについて
    • throws
    • try句内でthrowsされたexceptionはcatch句で受け止められる
    • exceptionがthrowsされたら、その後のtry句内の処理は実行されない
    • exceptionが何もthrowsされなかったら、catch句の処理は実行されない
    • fileのopen時だけでなく、fileのreadLine時にもexceptionが投げられる可能性がある
      • ここもtry-catchで囲む必要がある
      • catch句で新たなexceptionを生成して、それを上位のコードへ投げることもできる
  • flieへの書き込み
    • readする時と同じ要領
    • PrintWriterをopen/write/closeする
    • exceptionを処理できるようtry-catchで囲む