Soal: periksa apakah ada file

Pembaharuan Terakhir: 09/13/2023

Oke, mari kita menulis artikel tentang memeriksa apakah ada file di Rust:

Memeriksa apakah suatu file ada atau tidak adalah operasi umum yang dilakukan dalam jenis pemrograman apa pun. Bayangkan Anda memiliki sebuah program yang perlu membaca file dan melakukan beberapa operasi berdasarkan kontennya. Sebelum Anda mengakses file tersebut, Anda ingin tahu apakah file tersebut benar-benar ada. Untuk tujuan ini, bahasa pemrograman Rust memberi kita beberapa fungsi yang berguna.

Di Rust, kami memiliki xtra modul di bawah peti std::fs (sistem file) yang memungkinkan kita berinteraksi dengan jalur file. Ini menyediakan beberapa fungsi, salah satunya adalah fungsi `exists()`. Fungsi ini digunakan untuk memeriksa apakah jalur tertentu menunjuk ke file atau direktori yang ada.

gunakan std::jalur::Jalur;

fn utama() {
biarkan file_path = Jalur::baru(“jalur_ke_file”);
jika file_path.ada() {
println!("File ada");
} Else {
println!(“File tidak ada”);
}
}

Memahami kodenya

Pada kode di atas, pertama-tama kita mengimpor modul Path dari perpustakaan standar Rust. Di fungsi utama, kita membuat jalur baru yang menunjuk ke file yang ingin kita periksa.

Metode `Path::new()` membuat jalur baru. Dalam contoh ini, Anda akan mengganti `”path_to_file”` dengan jalur sebenarnya ke file yang ingin Anda periksa.

Kemudian, fungsi `exists()` digunakan untuk memeriksa apakah file tersebut ada di jalur yang ditentukan. Jika file ada, ia mengembalikan `benar`, jika tidak, `salah`. Berdasarkan nilai kembalian ini, pesan terkait dicetak ke konsol.

Modul `std::fs` dan `Path` di Rust

Di Rust, bekerja dengan file dan direktori difasilitasi oleh modul `std::fs` (sistem file), yang menyediakan banyak fungsi untuk menangani file. Modul ini berisi beberapa struct seperti `File` untuk membaca dari dan menulis ke file, dan `DirEntry` untuk membaca direktori.

Struktur penting lainnya adalah `Path`, yang mewakili jalur file dalam sistem. Struktur `Path` ini menyediakan beberapa metode untuk menangani jalur, seperti `baru()` untuk membuat instance `Path` baru, dan `exists()` untuk memeriksa apakah jalur tertentu mengarah ke file atau direktori yang sudah ada.

Mengatasi Kesalahan pada Rust

Di Rust, penanganan kesalahan adalah bagian penting. Saat menangani file, berbagai error bisa terjadi, seperti file tidak ditemukan, izin ditolak, dll. Rust menggunakan tipe `Result` dan `Option` untuk penanganan error.

Dalam kasus kami, jika jalur tidak ada atau ada kesalahan lain saat memeriksa keberadaan file, fungsi `exists()` hanya akan mengembalikan `false` tanpa informasi kesalahan apa pun. Namun, jika Anda memerlukan informasi kesalahan yang lebih mendetail tentang apa yang salah, Anda dapat menggunakan metode `metadata()` yang mengembalikan tipe `Hasil` dan memberikan detail kesalahan.

gunakan std::fs;

fn utama() {
cocokkan fs::metadata(“path_to_file”) {
Oke(_) => println!(“File ada”),
Err(err) => println!(“Kesalahan: {:?}”, err),
}
}

Di sini, `metadata()` dapat mengembalikan `Ok` atau `Err`. Jika ia mengembalikan `Ok`, itu berarti file tersebut ada, dan jika ia mengembalikan `Err`, terjadi kesalahan saat memeriksa keberadaan file, dan rincian kesalahan dicetak.

Pos terkait: