irbによる動作検証。
読み込みについて
FileクラスはIOクラスを継承している。
IO#readは末尾まですべて読み込む。
今回の読み込み対象のファイル
まず、closeで閉じてやる必要がある書き方。
file = File.open('c:/sample/foo.txt') puts file.read file.close
ブロック渡しの下記の書き方の場合、勝手にcloseまでしてくれる。
File.open 'c:/sample/foo.txt' do |file| puts file.read end
IO#getsは1行ずつ読み込みながら処理できる。
1行読み込んではアクセス位置を進める。ファイルの終端行ではnilを返す。
このようにも書ける。
書き込みについて
ファイルを開く際のモード
r:読み込みモードで開く
r+:読み書き両用モードで開く
w:新規作成して書き込みモードで開く
w+:新規作成して読み書き両用モードで開く
a:追記書き込みモードで開く
a+:読み込み/追記書き込みモードで開く