Czy Ruby zapewnia sposób na File.read () z określonym kodowaniem?

W rubie 1.9.x możemy określić kodowanie za pomocąFile.open('filename','r:iso-8859-1'). Często wolę używać jednokreskowego pliku File.read (), jeśli czytam wiele krótkich plików bezpośrednio do łańcuchów. Czy mogę określić kodowanie bezpośrednio, czy muszę skorzystać z jednego z poniższych?

str = File.read('filename')
str.force_encoding('iso-8859-1')

lub

f = File.open('filename', 'r:iso-8859-1')
s = ''
while (line = f.gets)
    s += line
end
f.close

questionAnswers(1)

yourAnswerToTheQuestion