Ruby 2.3.0 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > IOクラス > read
read(path, opt = {}) -> String | nil
[permalink][rdoc]read(path, length = nil, opt = {}) -> String | nil
read(path, length = nil, offset = 0, opt = {}) -> String | nil
path で指定されたファイルを offset 位置から length バイト分読み込んで返します。
既に EOF に達している場合は nil を返します。ただし、length に nil か 0 が指定されている場合は、空文字列 "" を返します。例えば、IO.read(空ファイル) は "" を返します。
引数 length が指定された場合はバイナリ読み込みメソッド、そうでない場合はテキスト読み込みメソッドとして 動作します。
Kernel.#open と同様 path の先頭が "|" ならば、"|" に続くコマンドの出力を読み取ります。
引数 opt で有効なキーと値は以下のとおりです。 キーはいずれも Symbol オブジェクトです。
読み込んだ文字列のエンコーディングを指定します。 読み込む長さを指定した場合はこれは無視されます。
IO.open のモードを指定します。 "r" で始まる文字列である必要があります。
IO.open に渡される引数を配列で指定します。
これらの他、 :external_encoding など IO.open のオプション引数が指定できます。
[SEE_ALSO] IO.binread
例:
IO.read(empty_file) #=> "" IO.read(empty_file, 1) #=> nil IO.read(one_byte_file, 0, 10) #=> "" IO.read(one_byte_file, nil, 10) #=> "" IO.read(one_byte_file, 1, 10) #=> nil