Rust:
Odczytywanie pliku tekstowego

How to: (Jak to zrobić?)

Oto jak w Rust wczytać plik tekstowy, linia po linii, oraz prosty przypadek użycia.

use std::fs::File;
use std::io::{self, BufRead};
use std::path::Path;

fn main() -> io::Result<()> {
    let path = Path::new("przyklad.txt");
    let file = File::open(&path)?;
    let reader = io::BufReader::new(file);

    for line in reader.lines() {
        println!("{}", line?);
    }
    Ok(())
}

Gdy masz plik przyklad.txt z treścią:

Witaj w Rust!
To jest przykład.

Po uruchomieniu, otrzymasz:

Witaj w Rust!
To jest przykład.

Deep Dive (Dogłębna analiza)

Czytanie plików tekstowych w Rust opiera się na prymitywach wejścia/wyjścia z modułu std::io. Historia tego mechanizmu sięga języków C i Unix, gdzie operacje na plikach są fundamentalne dla systemu.

Poza podstawowym File::open, można używać std::io::BufReader dla efektywności - buforuje on dane, co zmniejsza ilość operacji I/O. Inne metody jak read_to_string pozwalają na wczytanie całego pliku od razu do String.

Masz też alternatywy: std::fs::read_to_string dla krótszego kodu, czy biblioteki zewnętrzne jak serde do deserializacji danych w formatach JSON, YAML itp.

See Also (Zobacz też)

Następujące źródła mogą być przydatne dla lepszego zrozumienia tematu: