كيفية قراءة وكتابة الملفات بشكل صحيح في Rust 1.x؟ الطرق الفعلية للعمل مع الملفات
مرحبًا أيها الزملاء! أنا مبتدئ في Rust وأحاول فهم قراءة وكتابة الملفات. في لغات أخرى (مثل Python) يتم ذلك بسطر واحد، لكن هنا واجهت الكثير من الخيارات: `std::fs::File`، `BufReader`، `read_to_string`، `write_all`... رأسي يدور.
أحتاج إلى حل مشكلتين بسيطتين:
1. قراءة ملف نصي كامل إلى سلسلة نصية.
2. كتابة سلسلة نصية إلى ملف (إنشاء ملف جديد أو استبدال ملف موجود).
جربت هذا الكود، لكنه يبدو معقدًا جدًا:
```rust
use std::fs::File;
use std::io::Read;
fn main() {
let mut file = File::open("data.txt").unwrap();
let mut contents = String::new();
file.read_to_string(&mut contents).unwrap();
println!("{}", contents);
}
```
وللكتابة:
```rust
use std::fs::File;
use std::io::Write;
fn main() {
let mut file = File::create("output.txt").unwrap();
file.write_all(b"Hello, Rust!").unwrap();
}
```
الأسئلة:
- هل هذا النهج صحيح أم هناك طرق أكثر اصطلاحية؟