Rust:
Rédiger un fichier texte
Comment faire :
La bibliothèque standard de Rust fournit des outils robustes pour la manipulation de fichiers, encapsulés principalement dans les modules std::fs
et std::io
. Voici un exemple de base pour créer et écrire dans un fichier texte :
use std::fs::File;
use std::io::prelude::*;
fn main() -> std::io::Result<()> {
let mut file = File::create("bonjour.txt")?;
file.write_all(b"Bonjour, monde !")?;
Ok(())
}
Après avoir exécuté ce code, vous trouverez un fichier nommé bonjour.txt
avec le contenu “Bonjour, monde !”.
Pour des scénarios plus complexes, tels que l’ajout à un fichier ou la gestion de données plus volumineuses de manière efficace, Rust offre des fonctionnalités supplémentaires. Voici comment ajouter du texte à un fichier existant :
use std::fs::OpenOptions;
use std::io::prelude::*;
fn main() -> std::io::Result<()> {
let mut file = OpenOptions::new()
.write(true)
.append(true)
.open("bonjour.txt")?;
file.write_all(b" Ajout de plus de texte.")?;
Ok(())
}
L’exécution de ceci ajoutera " Ajout de plus de texte." à la fin de bonjour.txt
.
Dans certains cas, l’utilisation de bibliothèques tierces peut simplifier les opérations sur les fichiers. La crate serde
, combinée à serde_json
, par exemple, permet de sérialiser et désérialiser des structures de données vers et à partir du format JSON, offrant une approche de haut niveau pour l’écriture de fichiers :
use serde::{Serialize, Deserialize};
use serde_json;
use std::fs::File;
#[derive(Serialize, Deserialize)]
struct Utilisateur {
id: u32,
nom: String,
}
fn main() -> std::io::Result<()> {
let utilisateur = Utilisateur { id: 1, nom: "Jane Doe".into() };
let fichier = File::create("utilisateur.json")?;
serde_json::to_writer(fichier, &utilisateur)?;
Ok(())
}
Après avoir exécuté le code ci-dessus, utilisateur.json
contiendra une représentation JSON de la structure Utilisateur
. Notez que l’utilisation de serde
et serde_json
nécessite d’ajouter ces crates à votre Cargo.toml
.
Écrire des fichiers texte en Rust, que ce soit via la bibliothèque standard ou avec l’aide de crates externes, est une manière à la fois simple et puissante de gérer la persistance des données dans vos applications.