apprendre-rust

Cours gratuits de Rust 🦀 en Francais 🇫🇷

View on GitHub

Sommaiređź“š

Lire un fichier đź“–

Le mot clé use

Premièrement, nous avons besoin d’un fichier a lire, nous allons donc créer un nouveau fichier dans le dossier de notre projet.

# đź“„ hello.txt
World, Hello đź‘‹

Maintenant, nous allons lire le fichier et afficher son contenu.

Premièrement, nous allons importer le struct File depuis le module std::fs, qui est la bibliotheque standard pour gerer les fichiers.

Pour importer un élément, on utilise le mot clé use.

use std::fs::File;

Puis nous allons importer std::io::prelude::* pour nous permettre d’effectuer des opérations d’écritures et de lectures sur les fichiers.

use std::io::prelude::*;

Le * signifie que nous allons importer toutes les fonctions du module std::io::prelude.

Les methodes open et expect

La methode open retourne une valeur de type Result, c’est un type qui représente soit une valeur, soit une erreur.

Nous pouvons utiliser la methode expect sur une valeur de type Result pour recuperer la valeur. Il s’agit d’une valeur de type File.

La methode open prend un chemin vers le fichier en argument.

let mut file = File::open("hello.txt").expect("Impossible d'ouvrir le fichier");

La methode expect est utilisee pour gerer les erreurs.

Si le fichier ne peut pas etre ouvert, le programme panic. Par exemple si le fichier n’existe pas, le programme affiche ce message d’erreur et se terminera.

thread 'main' panicked at 'Impossible d'ouvrir le fichier: Os { code: 2, kind: NotFound, message: "No such file or directory" }', rust.rs:5:41
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

La methode read_to_string

La methode read_to_string prend comme argument une référence mutable vers un String et retourne une valeur de type Result.

Cette fonction va lire le contenu du fichier et le stocker dans la variable passée en argument.

let mut content = String::new();
file.read_to_string(&mut content).expect("Impossible de lire le fichier");

println!("đź“„ contenu : {}", content);

Sortie :

đź“„ contenu : World, Hello đź‘‹

Accueil 🏠 - Section suivante ⏭️


Course created by SkwalExe and inspired by Dcode