Les hautes performances et la sécurité mémoire de Rust, combinées au support des expressions régulières et à des opérations d’E/S de fichiers efficaces, permettent un traitement convaincant du texte et des données, faisant de Rust un excellent langage pour travailler avec des fichiers texte.
Les fichiers texte sont une source de données partagée par les applications, et Rust fournit un ensemble robuste d’outils pour travailler avec des fichiers texte dans la bibliothèque standard.
Travailler avec des fichiers texte en Rust
La bibliothèque standard de Rust fournit plusieurs modules pour lire, écrire et manipuler des fichiers, y compris des fichiers texte.
Travailler avec des fichiers texte en Rust implique de lire les données d’un fichier, d’utiliser les données en mémoire, puis d’écrire les données modifiées dans le fichier.
Rust fournit la fonction intégrée fs module permettant de travailler avec les fichiers et le système de fichiers. Le module fs Le module fs fournit des fonctions et des types que vous pouvez utiliser pour ouvrir, lire, écrire et manipuler des fichiers et des répertoires, y compris des fichiers texte.
Les fonctions les plus courantes du module fs Le module de gestion des données inclut le module de gestion des données fs::File::open pour ouvrir des fichiers en lecture, la fonction fs::File::create pour créer des fichiers, et l’option fs::write fonction permettant d’écrire des données dans des fichiers.
La fonction fs fournit également des fonctions telles que le module fs::remove_file pour supprimer des fichiers, la fonction fs::create_dir pour créer des répertoires, et la fonction fs::read_dir Fonction permettant de lire les fichiers d’un répertoire.
La fonction fs est polyvalent, et vous pouvez utiliser le module fs pour travailler avec la plupart des types de fichiers, y compris les fichiers texte.
Lecture de fichiers texte en Rust
Vous devez ouvrir un fichier texte pour le lire. Vous utiliserez la fonction fs::File::open pour ouvrir le fichier avant l’opération de lecture.
Exécutez ces commandes pour créer un fichier texte et écrire une phrase dans le fichier à partir de votre ligne de commande.
touch input.txt
echo "We're tech enthusiasts on a mission to teach the world how to use and understand the tech in their lives. Phones, laptops, gadgets, apps, software, websites, services---if it can make your life better, we'll show you all the tips, tricks, and techniques you need to know to get the most out of what you have." > input.txt
Maintenant que vous disposez d’un fichier texte existant avec un contenu pour l’opération de lecture, vous pouvez écrire le code Rust pour lire le contenu du fichier.
Voici comment lire le contenu d’un fichier input.txt fichier :
use std::fs::File;
use std::io::{BufRead, BufReader};
fn main() -> std::io::Result<()> {
// Open the file for reading
let file = File::open("input.txt")?;
// Create a buffered reader to read the file
let reader = BufReader::new(file);
// Read the file line by line
for line in reader.lines() {
println!("{}", line?);
}
Ok(())
}
Le principal renvoie le résultat de l’opération. La fonction fichier est l’instance de fichier ouverte que l’application nouveau fonction de la BufRead Le module prend en charge la création d’un lecteur de mémoire tampon pour lire le fichier.
La structure de contrôle de la boucle for parcourt le fichier et imprime chaque ligne du fichier sur la console avec la commande println ! macro.
Ecrire dans des fichiers texte en Rust
Vous devrez créer un nouveau fichier avec l’option fs::File::create fonction (si le fichier n’existe pas) pour écrire dans un fichier texte.
Voici comment créer et écrire des fichiers texte en Rust :
use std::fs::File;
use std::io::{BufWriter, Write};
fn main() -> std::io::Result<()> {
// Create a new file for writing
let file = File::create("output.txt")?;
// Create a buffered writer to write to the file
let mut writer = BufWriter::new(file);
// Write some data to the file
writer.write_all(b"Hello, world!\n")?;
writer.write_all(b"Rust is awesome.\n")?;
// Flush the writer to ensure all data is written to disk
writer.flush()?;
println!("Write Operation Successful");
Ok(())
}
L’outil fichier est une instance de la variable créée output.txt et le fichier écrivain La variable est une instance d’écriture en mémoire tampon pour l’écriture dans le fichier.
La variable write_all écrit des données dans le fichier, et la fonction flush La fonction « flush » permet d’effacer l’auteur.
Voici le résultat de l’exécution de la fonction principale :
Vous pouvez utiliser les fichiers texte pour plusieurs opérations
Les fichiers texte sont légers et pratiques pour de multiples usages, des fichiers de configuration à l’échange de données, en passant par la journalisation et le traitement de texte. Lorsque vous créez des applications en Rust ou dans tout autre langage de programmation comme Go, vous pouvez explorer d’autres cas d’utilisation des fichiers texte afin de faciliter vos processus de développement.
