Metadata
:
use std::fs;
fn main() -> std::io::Result<()> {
let metadata = fs::metadata("foo.txt")?;
if let Ok(time) = metadata.modified() {
println!("{:?}", time);
} else {
println!("Not supported on this platform");
}
Ok(())
}
但我不知道如何改变这个值。我的直觉是以附加模式打开现有文件并写入一个空字符串 - 不起作用。
一般的方法是什么样的?
set_file_mtime
crate 中的 filetime
函数可以更新文件修改时间元数据:
use filetime::{set_file_mtime, FileTime};
fn main() {
set_file_mtime("foo.txt", FileTime::now()).unwrap();
}
您将需要一个外部板条箱:
filetime
不再需要外部 crate,自 Rust 1.75.0 以来有一个新的 API: