Ruby:
Lese en tekstfil

How to:

# Enkel lesing av en hel fil
contents = File.read('eksempel.txt')
puts contents

# Linje for linje lesing
File.foreach('eksempel.txt') { |line| puts line }

# Lesing med en filhåndterer
File.open('eksempel.txt', 'r') do |file|
  file.each_line do |line|
    puts line
  end
end

# Håndtering av unntak hvis filen ikke finnes
begin
  contents = File.read('ikkeeksisterende.txt')
rescue Errno::ENOENT => e
  puts "Filen ble ikke funnet: #{e.message}"
end
Dette er innholdet i eksempel.txt filen.

Dette er innholdet i eksempel.txt filen, ønsket visning av linje for linje.

Dette er innholdet i eksempel.txt filen, når leses gjennom en filhåndterer.

Filen ble ikke funnet: No such file or directory @ rb_sysopen - ikkeeksisterende.txt

Deep Dive:

Lesing av tekstfiler i Ruby har røtter tilbake til UNIX-filosofien, der alt er en fil. Dette enkle konseptet gjør det kraftfullt og fleksibelt å jobbe med data i mange former.

Alternativer til File.read inkluderer biblioteker som CSV for kommadelte verdier eller YAML og JSON parsers for strukturerte data. En IO klasse er også tilgjengelig for lavnivå I/O-operasjoner.

Implementasjonsdetaljer blir viktige når man håndterer store filer. For eksempel, File.read leser hele filen til minnet som kan være problematisk med veldig store filer. Å bruke File.foreach eller File.open med en blokk lar oss behandle hver linje separat, noe som er mer minneeffektivt.

See Also: