Trait std::os::windows::fs::MetadataExt1.1.0[][src]

pub trait MetadataExt {
    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>; }
This is supported on Windows only.
Expand description

Windows 特定于 fs::Metadata 的扩展。

trait 公开的数据成员与 BY_HANDLE_FILE_INFORMATION 结构体的成员相对应。

Required methods

返回此元数据的 dwFileAttributes 字段的值。

该字段包含文件或目录的文件系统属性信息。 有关可能的值及其说明,请参见 Windows 开发人员中心中的 File Attribute Constants

Examples

use std::io;
use std::fs;
use std::os::windows::prelude::*;

fn main() -> io::Result<()> {
    let metadata = fs::metadata("foo.txt")?;
    let attributes = metadata.file_attributes();
    Ok(())
}
Run

返回此元数据的 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(())
}
Run

返回此元数据的 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(())
}
Run

返回此元数据的 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(())
}
Run

返回此元数据的 nFileSize{High,Low} 字段的值。

返回的值对目录没有意义。

Examples

use std::io;
use std::fs;
use std::os::windows::prelude::*;

fn main() -> io::Result<()> {
    let metadata = fs::metadata("foo.txt")?;
    let file_size = metadata.file_size();
    Ok(())
}
Run
🔬 This is a nightly-only experimental API. (windows_by_handle #63010)

返回此元数据的 dwVolumeSerialNumber 字段的值。

如果 Metadata 实例是从调用创建到 DirEntry::metadata,则将返回 None。 如果此 Metadata 是使用 fs::metadataFile::metadata 创建的,则它将返回 Some

🔬 This is a nightly-only experimental API. (windows_by_handle #63010)

返回此元数据的 nNumberOfLinks 字段的值。

如果 Metadata 实例是从调用创建到 DirEntry::metadata,则将返回 None。 如果此 Metadata 是使用 fs::metadataFile::metadata 创建的,则它将返回 Some

🔬 This is a nightly-only experimental API. (windows_by_handle #63010)

返回此元数据的 nFileIndex{Low,High} 字段的值。

如果 Metadata 实例是从调用创建到 DirEntry::metadata,则将返回 None。 如果此 Metadata 是使用 fs::metadataFile::metadata 创建的,则它将返回 Some

Implementors

🔬 This is a nightly-only experimental API. (windows_by_handle #63010)
🔬 This is a nightly-only experimental API. (windows_by_handle #63010)
🔬 This is a nightly-only experimental API. (windows_by_handle #63010)