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: