pub trait MetadataExt {
// Required methods
fn file_attributes(&self) -> u32;
fn creation_time(&self) -> u64;
fn last_access_time(&self) -> u64;
fn last_write_time(&self) -> u64;
fn file_size(&self) -> u64;
fn volume_serial_number(&self) -> Option<u32>;
fn number_of_links(&self) -> Option<u32>;
fn file_index(&self) -> Option<u64>;
}
Expand description
特定于 Windows 的 fs::Metadata
扩展。
这个 trait 公开的数据成员与 BY_HANDLE_FILE_INFORMATION
结构体的成员相对应。
Required Methods§
sourcefn file_attributes(&self) -> u32
fn file_attributes(&self) -> u32
sourcefn creation_time(&self) -> u64
fn creation_time(&self) -> u64
返回此元数据的 ftCreationTime
字段的值。
返回的 64 位值等效于 FILETIME
结构体,它表示自 1601 年 1 月 1 日以来的 100 纳秒间隔 (UTC)。
建议将结构体自动转换为 u64
值。
如果底层文件系统不支持创建时间,则返回值为 0.
Examples
use std::io;
use std::fs;
use std::os::windows::prelude::*;
fn main() -> io::Result<()> {
let metadata = fs::metadata("foo.txt")?;
let creation_time = metadata.creation_time();
Ok(())
}
Runsourcefn last_access_time(&self) -> u64
fn last_access_time(&self) -> u64
返回此元数据的 ftLastAccessTime
字段的值。
返回的 64 位值等效于 FILETIME
结构体,它表示自 1601 年 1 月 1 日以来的 100 纳秒间隔 (UTC)。
建议将结构体自动转换为 u64
值。
对于文件,该值指定最后一次读取或写入文件的时间。 对于目录,该值指定创建目录的时间。 对于文件和目录,指定的日期都是正确的,但是一天中的时间始终设置为午夜。
如果底层文件系统不支持上次访问时间,则返回值为 0.
Examples
use std::io;
use std::fs;
use std::os::windows::prelude::*;
fn main() -> io::Result<()> {
let metadata = fs::metadata("foo.txt")?;
let last_access_time = metadata.last_access_time();
Ok(())
}
Runsourcefn last_write_time(&self) -> u64
fn last_write_time(&self) -> u64
返回此元数据的 ftLastWriteTime
字段的值。
返回的 64 位值等效于 FILETIME
结构体,它表示自 1601 年 1 月 1 日以来的 100 纳秒间隔 (UTC)。
建议将结构体自动转换为 u64
值。
对于文件,该值指定文件的最后写入时间。对于目录,结构体指定目录的创建时间。
如果底层文件系统不支持最后写入时间,则返回值为 0.
Examples
use std::io;
use std::fs;
use std::os::windows::prelude::*;
fn main() -> io::Result<()> {
let metadata = fs::metadata("foo.txt")?;
let last_write_time = metadata.last_write_time();
Ok(())
}
Runsourcefn volume_serial_number(&self) -> Option<u32>
fn volume_serial_number(&self) -> Option<u32>
windows_by_handle
#63010)返回此元数据的 dwVolumeSerialNumber
字段的值。
如果 Metadata
实例是从调用创建到 DirEntry::metadata
,则将返回 None
。
如果此 Metadata
是使用 fs::metadata
或 File::metadata
创建的,则它将返回 Some
。
sourcefn number_of_links(&self) -> Option<u32>
fn number_of_links(&self) -> Option<u32>
windows_by_handle
#63010)返回此元数据的 nNumberOfLinks
字段的值。
如果 Metadata
实例是从调用创建到 DirEntry::metadata
,则将返回 None
。
如果此 Metadata
是使用 fs::metadata
或 File::metadata
创建的,则它将返回 Some
。
sourcefn file_index(&self) -> Option<u64>
fn file_index(&self) -> Option<u64>
windows_by_handle
#63010)返回此元数据的 nFileIndex{Low,High}
字段的值。
如果 Metadata
实例是从调用创建到 DirEntry::metadata
,则将返回 None
。
如果此 Metadata
是使用 fs::metadata
或 File::metadata
创建的,则它将返回 Some
。