Dipecahkan: membaca file ke string

Pembaharuan Terakhir: 09/13/2023

Membaca file ke string adalah tugas umum dalam pemrograman yang dapat dilakukan dengan mudah di Rust. Sepanjang umur suatu program, seringkali terdapat banyak kebutuhan untuk berinteraksi dengan data yang disimpan pada file disk. Tindakan yang sangat umum mungkin dilakukan adalah membaca konten file menjadi string. Artikel berikut merinci bagaimana Anda dapat melakukannya dalam bahasa Rust.

Di Rust, perpustakaan standar menyediakan metode yang membuat membaca file menjadi string menjadi tugas yang mudah. Ini adalah proses yang sederhana dan hanya memerlukan beberapa baris kode. Namun, seperti operasi lain yang melibatkan operasi I/O, hal ini dapat mengakibatkan kesalahan dan oleh karena itu, harus ditangani dengan benar.

Langkah pertama membaca file ke string di Rust melibatkan membuka file. Tindakan ini dapat dilakukan dengan menggunakan fungsi `std::fs::File::open`. Anda meneruskan jalur file ke fungsi `open` dan fungsi tersebut mengembalikan tipe `Hasil`. Jika file berhasil dibuka, `Ok(File)` dikembalikan, jika tidak, kesalahan akan dikembalikan.

biarkan file = File::open(“path_to_file_Anda”);

Setelah file dibuka, kita dapat melanjutkan ke langkah berikutnya - membaca konten file menjadi sebuah string. Ini dilakukan dengan menggunakan fungsi `std::fs::read_to_string`.

biarkan mut content = String::new();
biarkan hasil = std::fs::read_to_string(&file, &mut konten);

Fungsi `read_to_string` mengambil referensi ke file yang dibuka dan referensi yang bisa diubah ke String sebagai parameter. Isi file kemudian dimuat ke dalam string. Jika pembacaan berhasil, `Ok(())` dikembalikan, jika tidak maka akan mengembalikan kesalahan.

Saat menangani error di Rust, biasanya kita menggunakan metode `unwrap`. `unwrap` memberi Anda nilai jika `Hasil` adalah `Ok`, atau panik jika `Err`.

Modul std::fs

Peti `std` di Rust menyediakan akses ke beragam fungsi, di antaranya terdapat modul `std::fs` yang menyediakan fungsi untuk bekerja dengan sistem file. Modul ini merupakan titik masuk untuk semua operasi terkait I/O yang mengharuskan Anda memanipulasi file dan direktori. Hal penting yang perlu diperhatikan adalah bahwa operasi yang disediakan oleh modul ini semuanya terkait dengan masa pakai pegangan I/O, yang berarti operasi tersebut tidak lagi valid setelah pegangan terkait dihilangkan.

Struktur File

Di Rust, sebuah file diwakili oleh Struktur `File`. Struct `File` menyediakan metode untuk membuka file dalam berbagai mode (Baca, Tulis, dll.), membaca dari atau menulis ke file, dan juga untuk mendapatkan atau mengatur izin untuk file. Saat membaca file ke string di Rust, pertama-tama kita perlu membuka file tersebut menggunakan struct `File`.

Metode `File::open` digunakan untuk membuka file dalam mode read-only. Jika file tidak ada atau tidak dapat dibuka, ia akan mengembalikan kesalahan tipe `std::io::Error`. Untuk mengatasinya, Rust menyediakan fungsi `expect` untuk menangani error.

– Menangani Kesalahan-

Seperti bahasa pemrograman sistem lainnya, Rust memperlakukan kesalahan sebagai bagian penting dari bahasa tersebut. Rust mengkategorikan kesalahan menjadi dua: kesalahan yang dapat dipulihkan dan kesalahan yang tidak dapat dipulihkan. Karat tidak memiliki pengecualian. Sebaliknya, ia memiliki tipe `Hasil` untuk kesalahan yang dapat dipulihkan dan makro `panik!` untuk kesalahan yang tidak dapat dipulihkan. Membaca file dapat mengakibatkan kesalahan yang dapat dipulihkan, itulah sebabnya ia mengembalikan objek Result.

Di Rust, Anda menggunakan objek `Result` dengan fungsi `expect` yang memanggil makro `panic!` jika ada varian `Err`.

[b]Ingatlah bahwa filosofi Rust adalah untuk memastikan keamanan dan kemudahan penggunaan, yang dipenuhi di sini dengan penanganan kesalahan yang kuat dan penanganan memori secara implisit.[/b]

Pos terkait: