2012年1月8日日曜日

Ruby (ファイルの内容を一気に読み込む)

●File.read を使って、ファイルの内容を一気に読み込みます。以下の例では、いったん読み込んだデータをputsで出力しています。
data = File.read("foo.txt")
puts data


●File.readで、第2引数と第3引数に、読み込む長さと開始位置を指定します。以下の例では、6バイトめから5バイトを読み込んで出力しています。
data = File.read("foo.txt",5,6)
puts data


●Windowsの場合には、ファイルがテキストモードで開かれてしまいます。バイナリモードで読み込むには、以下の例のように、File.openで開いた後にバイナリモードに変更し、File#readを使って読み込み処理をします。readメソッドの返り値がFile.openの返り値になります。
data = File.open("foo.txt"){|file|
   file.binmode
   file.read
}

puts data

●File#readを使って、バイト数を指定して読み込むことができます。以下の例では、先頭から6バイトのデータを3つ取り出しています。
data1 = data2 = data3 = nil
File.open("foo.txt"){|file|
   file.binmode
   data1 = file.read(6)
   data2 = file.read(6)
   data3 = file.read(6)
}

puts data1
puts data2
puts data3

0 件のコメント:

コメントを投稿