Rust:
डायरेक्टरी मौजूद है या नहीं जाँचना
कैसे:
रस्ट की मानक पुस्तकालय (std
) std::path::Path
और std::fs
मॉड्यूल के माध्यम से एक डायरेक्ट्री के अस्तित्व की जांच करने की कार्यक्षमता शामिल करती है। यहाँ रस्ट के मानक दृष्टिकोण का एक सरल उदाहरण है:
use std::path::Path;
fn main() {
let path = Path::new("/path/to/directory");
if path.exists() && path.is_dir() {
println!("डायरेक्ट्री मौजूद है।");
} else {
println!("डायरेक्ट्री मौजूद नहीं है।");
}
}
नमूना आउटपुट, मान लिया कि डायरेक्ट्री मौजूद है:
डायरेक्ट्री मौजूद है।
अधिक जटिल परिदृश्यों या प्रगतिशील सुविधाओं (जैसे कि एसिंक्रोनस फाइल सिस्टम संचालन) के लिए, आप एक तृतीय-पक्ष पुस्तकालय जैसे tokio
का उपयोग करने पर विचार कर सकते हैं जिसका एक एसिंक्रोनस fs
मॉड्यूल होता है, विशेष रूप से अगर आप किसी एसिंक्रोनस रनटाइम के भीतर काम कर रहे हों। ये होगा कि आप tokio
के साथ यही कैसे हासिल कर सकते हैं:
सबसे पहले, अपनी Cargo.toml
में tokio
जोड़ें:
[dependencies]
tokio = { version = "1.0", features = ["full"] }
फिर, एक डायरेक्ट्री के अस्तित्व की जांच एसिंक्रोनस रूप से करने के लिए tokio::fs
का उपयोग करें:
use tokio::fs;
#[tokio::main]
async fn main() {
let path = "/path/to/directory";
match fs::metadata(path).await {
Ok(metadata) => {
if metadata.is_dir() {
println!("डायरेक्ट्री मौजूद है।");
} else {
println!("पथ मौजूद है लेकिन डायरेक्ट्री नहीं है।");
}
},
Err(_) => println!("डायरेक्ट्री मौजूद नहीं है।"),
}
}
नमूना आउटपुट, मान लिया कि डायरेक्ट्री मौजूद नहीं है:
डायरेक्ट्री मौजूद नहीं है।
ये उदाहरण दिखाते हैं कि कैसे रस्ट और इसके पारिस्थितिकी तंत्र सिंक्रोनस और एसिंक्रोनस दृष्टिकोणों को डायरेक्ट्री अस्तित्व की जाँच के लिए प्रदान करते हैं, विभिन्न सॉफ्टवेयर विकास आवश्यकताओं को पूरा करते हैं।