From the fine manual:
read(name, [length [, offset]], open_args) → string
Opens the file, optionally seeks to the given
offset, then returnslengthbytes (defaulting to the rest of the file).readensures the file is closed before returning.If the last argument is a hash, it specifies option for internal open().
So you can say things like this:
s = File.read('pancakes', :encoding => 'iso-8859-1')
s.encoding
#<Encoding:ISO-8859-1>