6.6. Odczytywanie zawartości pliku

Problem

Chcemy wczytać do pamięci zawartość pliku lub jej część.

Rozwiązanie

Można przetwarzać zawartość pliku „po kawałku”, przekazując do metody File#open blok kodowy, w którym określone jest przetwarzanie pojedynczego kawałka. Można też wczytać całą zawartość pliku jako pojedynczy łańcuch, wywołując metodę IO#read:

# Wpisz cokolwiek do pliku
open('sample_file', 'w') do |f|
  f.write("To jest pierwszy wiersz.\nTo jest drugi wiersz.")
end

# Odczytaj zawartość z pliku
open('sample_file') { |f| f.read }
# => "To jest pierwszy wiersz.\nTo jest drugi wiersz."

File.read('sample_file')
# => "To jest pierwszy wiersz.\nTo jest drugi wiersz."

Metoda IO#readlines wczytuje zawartość pliku jako tablicę wierszy: ...

Get Ruby. Receptury now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.