IOクラス

#モード
"r"    読み込み専用。デフォルト値
"r+"   読み込み/書き込み用
"w"    書き込み用。ファイルが存在しない場合は作成する。既存ファイルを指定した場合は上書きする。
"w+"   読み込み/書き込み用
"a"    追加書き込み。ファイルが存在しない場合は作成する。
"a+"   読み込み/追加書き込み用。ファイルが存在しない場合は作成する。

#ファイル読み込み処理1
io = File.open("C:\\sample_dir\\text.txt", "r")  #フルパスで指定する必要あり?
while line_str = io.gets
  line_str.chomp!
  #〜読み込んだ文字列を使った処理〜
end
io.close

#ファイル読み込み処理2
File.open("ファイルパス", "r"){|io|
  while line_str = io.gets
    line_str.chomp!
    #〜読み込んだ文字列を使った処理〜
  end
}

#ファイルへの書き込み処理
begin
	File.open("C:\\test_dir\\test.txt", "a"){|io|
		io.printf("%s", "テスト出力")
	}
rescue
	print 'ファイルが既にオープンされています'
end

#ファイルポインタ
IO#seek(offset, whence) :ファイルポインタをwhenceを基準としてoffset移動する
             IO::SEEK_SET  絶対指定
                          IO::SEEK_CUR  現在位置からの相対指定
                          IO::SEEK_END  末尾からの相対指定

IO#read(size) :現在のファイルポインタ位置からsizeバイト読み込む。

#バイナリモード
IO#binmode :テキストモードからバイナリモードへの切り替えを行う。逆はできない。

Ruby Reference Manual - るりま