Leer lezen van en schrijven naar tekstbestanden in Rust.

De hoge prestaties en geheugenveiligheid van Rust, gecombineerd met de ondersteuning voor reguliere expressies en efficiënte bestands-I/O bewerkingen, maken boeiende tekst- en gegevensverwerking mogelijk, waardoor Rust een uitstekende taal is om met tekst te werken bestanden.

Tekstbestanden zijn een gedeelde gegevensbron voor toepassingen en Rust biedt een robuuste set hulpmiddelen voor het werken met tekstbestanden in de standaardbibliotheek.

Werken met tekstbestanden in Rust

De standaardbibliotheek van Rust biedt verschillende modules voor het lezen, schrijven en manipuleren van bestanden, inclusief tekstbestanden.

Werken met tekstbestanden in Rust omvat het lezen van gegevens uit een bestand, het gebruiken van de gegevens in het geheugen en het vervolgens terugschrijven van de gewijzigde gegevens naar het bestand.

Roest zorgt voor de ingebouwde fs module voor het werken met bestanden en het bestandssysteem. De fs module biedt functies en typen die u kunt gebruiken voor het openen, lezen, schrijven en manipuleren van bestanden en mappen, inclusief tekstbestanden.

instagram viewer

Populaire functies in de fs module omvat de fs:: Bestand:: openen functie voor het openen van bestanden voor leesbewerkingen, de fs:: Bestand:: creëren voor het maken van bestanden, en de fs:: schrijven functie voor het schrijven van gegevens naar bestanden.

De fs module biedt ook functies zoals de fs:: verwijder_bestand functie voor het verwijderen van bestanden, de fs:: create_dir functie voor het maken van mappen, en de fs:: read_dir functie voor het lezen van bestanden in een directory.

De fs module is veelzijdig en u kunt de fs module om met de meeste bestandstypen te werken, inclusief tekstbestanden.

Tekstbestanden lezen in Rust

U moet een tekstbestand openen om het bestand te lezen. Je gebruikt de fs:: Bestand:: openen functie om het bestand te openen vóór de leesbewerking.

Voer deze opdrachten uit om een ​​tekstbestand te maken en een zin naar het bestand te schrijven uw opdrachtregel.

tik op invoer.txt

echo "We zijn tech-enthousiastelingen op een missie om de wereld te leren hoe ze technologie in hun leven kunnen gebruiken en begrijpen. Telefoons, laptops, gadgets, apps, software, websites, services als het je leven kan verbeteren, laten we het zien je alle tips, trucs en technieken die je moet weten om het meeste te halen uit wat je hebt." > invoer.txt

Nu je een bestaand tekstbestand hebt met inhoud voor de leesbewerking, kun je Rust-code schrijven om de inhoud van het bestand te lezen.

Zo kunt u lezen uit de invoer.txt bestand:

gebruik std:: fs:: Bestand;
gebruik standaard:: io::{BufRead, BufReader};

fnvoornaamst() -> standaard:: io::Resultaat {
// Open het bestand om te lezen
laten bestand = Bestand:: openen("invoer.txt")?;

// Maak een gebufferde lezer om het bestand te lezen
laten reader = BufReader:: nieuw (bestand);

// Lees het bestand regel voor regel
voor lijn in lezer.regels() {
println!("{}", lijn?);
}

OK(())
}

De voornaamst functie retourneert het resultaat van de bewerking. De bestand variabele is de geopende bestandsinstantie die de nieuw functie van de BufRead module neemt in om een ​​gebufferde lezer te maken om het bestand te lezen.

De for loop-besturingsstructuur doorloopt het bestand en drukt elke regel van het bestand naar de console af met de println! macro.

Schrijven naar tekstbestanden in Rust

U moet een nieuw bestand maken met de fs:: Bestand:: creëren functie (als het bestand niet bestaat) om naar een tekstbestand te schrijven.

Hier leest u hoe u tekstbestanden in Rust kunt maken en schrijven:

gebruik std:: fs:: Bestand;
gebruik std:: io::{BufWriter, Schrijven};

fnvoornaamst() -> standaard:: io::Resultaat {
// Maak een nieuw bestand om te schrijven
laten bestand = Bestand:: aanmaken("uitvoer.txt")?;

// Maak een gebufferde schrijver om naar het bestand te schrijven
latenmuts writer = BufWriter:: nieuw (bestand);

// Schrijf wat gegevens naar het bestand
schrijver.write_all(b"Hallo wereld!\n")?;
schrijver.write_all(b"Roest is geweldig.\n")?;

// Flush de schrijver om ervoor te zorgen dat alle gegevens naar schijf worden geschreven
schrijver.flush()?;

println!("Schrijfoperatie geslaagd");
OK(())
}

De bestand variabele is een instantie van het bestand create uitvoer.txt bestand, en de auteur variabele is een gebufferde schrijverinstantie voor het schrijven naar het bestand.

De schrijf_alles functie schrijft gegevens naar het bestand, en de doorspoelen functie spoelt de schrijver.

Dit is het resultaat van het uitvoeren van de hoofdfunctie:

U kunt tekstbestanden voor verschillende bewerkingen gebruiken

Tekstbestanden zijn lichtgewicht en handig voor meerdere doeleinden, van configuratiebestanden tot gegevensuitwisseling, logboekregistratie en tekstverwerking. Terwijl u applicaties bouwt in Rust of een andere programmeertaal zoals Go, kunt u andere use-cases voor tekstbestanden verkennen om uw ontwikkelingsworkflows te vergemakkelijken.