続いて、テキストファイルからテキストを読み込むための処理です。テキストの読み込みも、基本的にはFileクラスを利用するという点で書き出しと同じです。
ただし、書き出しの場合と異なり、読み込みは「どうやって全部のテキストを読み込むか」ということを考えないといけません。これにはいくつかのやり方があります。
まずは、もっとも単純なやり方から説明していきましょう。
●Ruby 1.9以降の一括読み込みRuby 1.9以降では、テキストの中身をまとめて一括読込するためのメソッドが用意されています。これは「
read」というもので、以下のように呼び出します。
変数 = File.read( ファイルのパス , :encoding => エンコーディングの指定 )
見ればわかるように、これは
Fileクラスから直接呼び出すメソッド(クラスメソッド)です。すなわち、これは
openで
Fileインスタンスを作って……なんてやらないでいいのです。ただ、
File.readを呼び出すだけ!
注意すべきは、
:encodingというオプションでしょう。これは省略してもいいのですが、なるべく明示的に指定すべきです。エンコードの種類は、
Encodingクラスにある値を利用します。UTF-8ならば、
Encoding::UTF_8と指定すればよいでしょう。SJISならば、
Encoding::Shift_JISとしておきます。
下のリスト欄に、実際の利用例を挙げておきました。
readメソッドによる一発読み込みは実に利用が簡単ですね!