Rust:
Tarkistetaan, onko hakemisto olemassa
Kuinka:
Rustin standardikirjasto (std) sisältää toiminnallisuuden hakemiston olemassaolon tarkistamiseksi std::path::Path ja std::fs moduulien kautta. Tässä on yksinkertainen esimerkki käyttäen Rustin standardimenetelmää:
use std::path::Path;
fn main() {
let path = Path::new("/polku/hakemistoon");
if path.exists() && path.is_dir() {
println!("Hakemisto on olemassa.");
} else {
println!("Hakemistoa ei ole olemassa.");
}
}Esimerkkilähtö, olettaen että hakemisto on olemassa:
Hakemisto on olemassa.Monimutkaisemmissa skenaarioissa tai laajennetuissa ominaisuuksissa (kuten asynkroninen tiedostojärjestelmän toiminnot) saatat harkita kolmannen osapuolen kirjaston, kuten tokion, käyttämistä sen asynkronisen fs-moduulin kanssa, erityisesti jos työskentelet asynkronisessa ympäristössä. Näin voisit saavuttaa saman tokion kanssa:
Lisää ensin tokio Cargo.toml-tiedostoosi:
[dependencies]
tokio = { version = "1.0", features = ["full"] }Käytä sitten tokio::fs:ää tarkistaaksesi hakemiston olemassaolon asynkronisesti:
use tokio::fs;
#[tokio::main]
async fn main() {
let path = "/polku/hakemistoon";
match fs::metadata(path).await {
Ok(metadata) => {
if metadata.is_dir() {
println!("Hakemisto on olemassa.");
} else {
println!("Polku on olemassa, mutta se ei ole hakemisto.");
}
},
Err(_) => println!("Hakemistoa ei ole olemassa."),
}
}Esimerkkilähtö, olettaen että hakemistoa ei ole olemassa:
Hakemistoa ei ole olemassa.Nämä esimerkit korostavat, kuinka Rust ja sen ekosysteemi tarjoavat sekä synkronisia että asynkronisia lähestymistapoja hakemiston olemassaolon tarkistuksiin, palvelemalla laajaa valikoimaa ohjelmistokehityksen tarpeita.