add rename_part

This commit is contained in:
weisd
2024-09-25 11:49:12 +08:00
parent 43c94c7be2
commit ad4a32762d
7 changed files with 358 additions and 16 deletions
+21
View File
@@ -49,6 +49,27 @@ pub async fn access(path: impl AsRef<Path>) -> io::Result<()> {
Ok(())
}
pub async fn lstat(path: impl AsRef<Path>) -> io::Result<Metadata> {
fs::metadata(path).await
}
pub async fn make_dir_all(path: impl AsRef<Path>) -> io::Result<()> {
fs::create_dir_all(path.as_ref()).await
}
pub async fn remove(path: impl AsRef<Path>) -> io::Result<()> {
let meta = fs::metadata(path.as_ref()).await?;
if meta.is_dir() {
fs::remove_dir(path.as_ref()).await
} else {
fs::remove_file(path.as_ref()).await
}
}
pub async fn mkdir(path: impl AsRef<Path>) -> io::Result<()> {
fs::create_dir(path.as_ref()).await
}
pub async fn rename(from: impl AsRef<Path>, to: impl AsRef<Path>) -> io::Result<()> {
fs::rename(from, to).await
}
+6
View File
@@ -1,3 +1,5 @@
use std::path::Path;
const GLOBAL_DIR_SUFFIX: &str = "__XLDIR__";
pub const SLASH_SEPARATOR: &str = "/";
@@ -37,3 +39,7 @@ pub fn retain_slash(s: &str) -> String {
format!("{}{}", s, SLASH_SEPARATOR)
}
}
pub fn join(p1: &str, p2: &str) -> String {
Path::new(p1).join(Path::new(p2)).to_string_lossy().to_string()
}