Pemrograman Rust berdiri sebagai sistem sumber terbuka, dirancang dengan tujuan untuk menawarkan kinerja dan keamanan. Salah satu fiturnya yang paling terkenal adalah kemampuannya mengelola memori dengan cara yang aman tanpa memerlukan pengumpul sampah. Secara sederhana, Rust adalah bahasa pemrograman sistem yang cukup kuat yang menawarkan akses kode tingkat rendah dan juga dijalankan dengan kecepatan tinggi. Dalam konteks ini, kita akan membahas cara mendapatkan semua file dalam direktori menggunakan Rust.
Mendapatkan File di Direktori menggunakan Rust
Untuk menyelesaikan tugas mengambil semua file dari direktori, file std::fs modul digunakan. Modul ini dilengkapi dengan fungsi yang disebut baca_dir(), yang khusus digunakan untuk membaca isi direktori.
gunakan std::fs;
fn utama() {
biarkan jalur = fs::read_dir(“/path/ke/direktori”).unwrap();
untuk jalur di jalur {
println!(“Nama: {}”, path.unwrap().path().display())
}
}
Penjelasan Kode
Kode Rust yang disediakan di sini cukup mudah. Awalnya, modul fs dari perpustakaan standar Rust diimpor. Modul fs berisi beberapa fungsi yang berkaitan dengan operasi sistem file.
Selanjutnya, dalam fungsi utama, kita menggunakan baca_dir() fungsi yang disediakan oleh modul fs untuk membaca isi direktori. Penting untuk dicatat bahwa jalur ke direktori diberikan sebagai string hardcode, yang memerlukan penyesuaian sesuai dengan preferensi Anda.
The baca_dir() fungsi mengembalikan iterator pada item (file dan direktori) dalam direktori yang ditentukan. Setiap item dari iterator ini adalah a Hasil yang menyimpan DirEntry (ketika item berhasil diakses) atau kesalahan.
Kami menggunakan membuka() berfungsi untuk menangani hasil ini dan mendapatkan akses ke nilai DirEntry yang sebenarnya. Namun, perhatikan itu membuka() akan panik jika terjadi kesalahan, dan karenanya tidak disarankan untuk kode produksi. Menerapkan tindakan penanganan kesalahan yang tepat di sini akan lebih ideal.
Bagian terakhir dari kode terdiri dari loop yang melakukan iterasi pada jalur yang dihasilkan. Untuk setiap jalur, kami mencetak nama file dengan mengakses jalur tersebut Entri Langsung dan menampilkannya ke konsol.
Fungsi dan Perpustakaan Lain untuk Akses Direktori di Rust
Selain modul std::fs yang digunakan dalam contoh, ekosistem Rust juga menyediakan perpustakaan tambahan seperti walkdir dan bola yang dapat digunakan untuk operasi direktori dan sistem file yang lebih kompleks, seperti menelusuri pohon direktori atau mencocokkan pola jalur.
Walkdir perpustakaan menawarkan fungsi untuk melintasi direktori secara rekursif, mengikuti tautan simbolik, dan kemampuan untuk menyesuaikan traversal dengan melewatkan direktori. Gumpal, di sisi lain, dapat digunakan untuk mencocokkan pola jalur, yang bisa sangat berguna dalam operasi yang memerlukan jenis file tertentu untuk dipilih dari direktori.
