Lær hvordan du leser fra og skriver til tekstfiler i Rust.
Rusts høye ytelse og minnesikkerhet, kombinert med støtte for regulære uttrykk og effektiv fil I/O operasjoner, muliggjør overbevisende tekst- og databehandling, noe som gjør Rust til et utmerket språk for å jobbe med tekst filer.
Tekstfiler er en delt datakilde for applikasjoner, og Rust gir et robust sett med verktøy for å jobbe med tekstfiler i standardbiblioteket.
Arbeide med tekstfiler i rust
Rusts standardbibliotek tilbyr flere moduler for lesing, skriving og manipulering av filer, inkludert tekstfiler.
Arbeid med tekstfiler i Rust innebærer å lese data fra en fil, bruke dataene i minnet og deretter skrive de endrede dataene tilbake til filen.
Rust gir det innebygde fs modul for arbeid med filer og filsystemet. De fs modul gir funksjoner og typer som du kan bruke til å åpne, lese, skrive og manipulere filer og kataloger, inkludert tekstfiler.
Populære funksjoner i fs modulen inkluderer fs:: Fil:: åpen funksjon for å åpne filer for leseoperasjoner, den
fs:: Fil:: opprette for å lage filer, og fs:: skriv funksjon for å skrive data til filer.De fs Modulen tilbyr også funksjoner som fs:: remove_file funksjon for å slette filer, den fs:: create_dir funksjon for å lage kataloger, og fs:: read_dir funksjon for å lese filer i en katalog.
De fs modulen er allsidig, og du kan bruke fs modul for å fungere med de fleste filtyper, inkludert tekstfiler.
Lese tekstfiler i rust
Du må åpne en tekstfil for å lese filen. Du vil bruke fs:: Fil:: åpen funksjon for å åpne filen før leseoperasjonen.
Kjør disse kommandoene for å lage en tekstfil og skrive en setning til filen fra kommandolinjen din.
trykk på input.txt
echo "Vi er teknologientusiaster på et oppdrag for å lære verden hvordan de kan bruke og forstå teknologien i livene deres. Telefoner, bærbare datamaskiner, dingser, apper, programvare, nettsteder, tjenester hvis det kan gjøre livet ditt bedre, viser vi du alle tipsene, triksene og teknikkene du trenger å vite for å få mest mulig ut av det du har." > input.txt
Nå som du har en eksisterende tekstfil med innhold for leseoperasjonen, kan du skrive Rust-kode for å lese filens innhold.
Slik kan du lese fra input.txt fil:
bruk std:: fs:: Fil;
bruk std:: io::{BufRead, BufReader};fnhoved-() -> std:: io::Resultat {
// Åpne filen for lesing
la fil = Fil:: åpen("input.txt")?;// Lag en bufret leser for å lese filen
la reader = BufReader:: ny (fil);// Les filen linje for linje
til linje i reader.lines() {
println!("{}", linje?);
}
Ok(())
}
De hoved- funksjonen returnerer resultatet av operasjonen. De fil variabel er den åpne filforekomsten som ny funksjonen til BufRead modulen tar inn for å lage en bufret leser for å lese filen.
For loop-kontrollstrukturen går gjennom filen og skriver ut hver linje fra filen til konsollen med println! makro.
Skrive til tekstfiler i rust
Du må opprette en ny fil med fs:: Fil:: opprette funksjon (hvis filen ikke eksisterer) for å skrive til en tekstfil.
Slik kan du lage og skrive tekstfiler i Rust:
bruk std:: fs:: Fil;
bruk std:: io::{BufWriter, Write};fnhoved-() -> std:: io::Resultat {
// Lag en ny fil for skriving
la fil = Fil:: opprette("output.txt")?;// Lag en bufret skriver for å skrive til filen
lamut writer = BufWriter:: ny (fil);// Skriv noen data til filen
writer.write_all(b"Hei verden!\n")?;
writer.write_all(b"Rust er kjempebra.\n")?;// Skyll skriveren for å sikre at alle data er skrevet til disken
writer.flush()?;
println!("Skriv operasjon vellykket");
Ok(())
}
De fil variabel er en forekomst av den opprettede output.txt filen, og forfatter variabel er en bufret forfatterforekomst for å skrive til filen.
De skrive_alt funksjonen skriver data til filen, og spyle funksjonen skyller skriveren.
Her er resultatet fra å kjøre hovedfunksjonen:
Du kan bruke tekstfiler til flere operasjoner
Tekstfiler er lette og nyttige for flere formål, fra konfigurasjonsfiler til datautveksling, logging og tekstbehandling. Når du bygger applikasjoner i Rust eller et hvilket som helst annet programmeringsspråk som Go, kan du utforske andre bruksområder for tekstfiler for å lette utviklingsarbeidsflytene dine.