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; }
Extension methods for fs::Metadata
to access the raw fields contained within.
The data members that this trait exposes correspond to the members of the BY_HANDLE_FILE_INFORMATION
structure.
fn file_attributes(&self) -> u32
Returns the value of the dwFileAttributes
field of this metadata.
This field contains the file system attribute information for a file or directory. For possible values and their descriptions, see File Attribute Constants in the Windows Dev Center.
use std::io; use std::fs; use std::os::windows::prelude::*; let metadata = fs::metadata("foo.txt")?; let attributes = metadata.file_attributes();
fn creation_time(&self) -> u64
Returns the value of the ftCreationTime
field of this metadata.
The returned 64-bit value is equivalent to a FILETIME
struct, which represents the number of 100-nanosecond intervals since January 1, 1601 (UTC). The struct is automatically converted to a u64
value, as that is the recommended way to use it.
If the underlying filesystem does not support creation time, the returned value is 0.
use std::io; use std::fs; use std::os::windows::prelude::*; let metadata = fs::metadata("foo.txt")?; let creation_time = metadata.creation_time();
fn last_access_time(&self) -> u64
Returns the value of the ftLastAccessTime
field of this metadata.
The returned 64-bit value is equivalent to a FILETIME
struct, which represents the number of 100-nanosecond intervals since January 1, 1601 (UTC). The struct is automatically converted to a u64
value, as that is the recommended way to use it.
For a file, the value specifies the last time that a file was read from or written to. For a directory, the value specifies when the directory was created. For both files and directories, the specified date is correct, but the time of day is always set to midnight.
If the underlying filesystem does not support last access time, the returned value is 0.
use std::io; use std::fs; use std::os::windows::prelude::*; let metadata = fs::metadata("foo.txt")?; let last_access_time = metadata.last_access_time();
fn last_write_time(&self) -> u64
Returns the value of the ftLastWriteTime
field of this metadata.
The returned 64-bit value is equivalent to a FILETIME
struct, which represents the number of 100-nanosecond intervals since January 1, 1601 (UTC). The struct is automatically converted to a u64
value, as that is the recommended way to use it.
For a file, the value specifies the last time that a file was written to. For a directory, the structure specifies when the directory was created.
If the underlying filesystem does not support the last write time, the returned value is 0.
use std::io; use std::fs; use std::os::windows::prelude::*; let metadata = fs::metadata("foo.txt")?; let last_write_time = metadata.last_write_time();
fn file_size(&self) -> u64
Returns the value of the nFileSize{High,Low}
fields of this metadata.
The returned value does not have meaning for directories.
use std::io; use std::fs; use std::os::windows::prelude::*; let metadata = fs::metadata("foo.txt")?; let file_size = metadata.file_size();
impl MetadataExt for Metadata
© 2010 The Rust Project Developers
Licensed under the Apache License, Version 2.0 or the MIT license, at your option.
https://doc.rust-lang.org/std/os/windows/fs/trait.MetadataExt.html