كيفية التحقق من وجود ملف أو مجلد في Rust؟ (Path::exists والبدائل)
مرحبًا بالجميع! أنا مبتدئ في Rust وأحاول كتابة برنامج بسيط يتحقق من وجود ملف قبل قراءته. أعلم أنه في Python يوجد `os.path.exists()` المناسب، لكن في Rust لم أتعلم بعد.
إليك الكود الخاص بي الذي لا يعمل كما أتوقع:
```rust
use std::path::Path;
fn main() {
let path = Path::new("/tmp/test.txt");
if path.exists() {
println!("الملف موجود!");
} else {
println!("الملف غير موجود.");
}
}
```
المشكلة أنني لست متأكدًا مما إذا كنت أستخدم `Path::exists()` بشكل صحيح. كما سمعت أن هناك `std::fs::metadata()`، لكنني لا أفهم الفرق. وأيضًا أحتاج إلى التحقق مما إذا كان المسار مجلدًا وليس ملفًا — كيف يمكن فعل ذلك؟
أرجو إرشادي، ما هي الطريقة الأكثر شيوعًا في Rust؟ هل يجب معالجة الأخطاء (مثل عدم وجود صلاحيات الوصول)؟ وماذا أفعل إذا أردت التحقق من وجود عدة ملفات في وقت واحد — هل سيكون ذلك فعالاً؟
شكرًا مقدمًا على المساعدة! Rust رائعة جدًا بالنسبة لي.