A structure representing a type of file with accessors for each file type.
It is returned by Metadata::file_type method.
Test whether this file type represents a directory. The
result is mutually exclusive to the results of
is_file and is_symlink; only zero or one of these
tests may pass.
fn main() -> std::io::Result<()> {
use std::fs;
let metadata = fs::metadata("foo.txt")?;
let file_type = metadata.file_type();
assert_eq!(file_type.is_dir(), false);
Ok(())
}Run
Test whether this file type represents a regular file.
The result is mutually exclusive to the results of
is_dir and is_symlink; only zero or one of these
tests may pass.
fn main() -> std::io::Result<()> {
use std::fs;
let metadata = fs::metadata("foo.txt")?;
let file_type = metadata.file_type();
assert_eq!(file_type.is_file(), true);
Ok(())
}Run
Test whether this file type represents a symbolic link.
The result is mutually exclusive to the results of
is_dir and is_file; only zero or one of these
tests may pass.
The underlying Metadata struct needs to be retrieved
with the fs::symlink_metadata function and not the
fs::metadata function. The fs::metadata function
follows symbolic links, so is_symlink would always
return false for the target file.
use std::fs;
fn main() -> std::io::Result<()> {
let metadata = fs::symlink_metadata("foo.txt")?;
let file_type = metadata.file_type();
assert_eq!(file_type.is_symlink(), false);
Ok(())
}Run
Performs copy-assignment from source. Read more
This method tests for self and other values to be equal, and is used by ==. Read more
This method tests for !=.
Feeds this value into the given [Hasher]. Read more
Feeds a slice of this type into the given [Hasher]. Read more
Formats the value using the given formatter. Read more
This is supported on Unix only.
Returns whether this file type is a block device. Read more
This is supported on Unix only.
Returns whether this file type is a char device. Read more
This is supported on Unix only.
Returns whether this file type is a fifo. Read more
This is supported on Unix only.
Returns whether this file type is a socket. Read more
🔬 This is a nightly-only experimental API. (windows_file_type_ext)
This is supported on Windows only.
Returns whether this file type is a symbolic link that is also a directory.
🔬 This is a nightly-only experimental API. (windows_file_type_ext)
This is supported on Windows only.
Returns whether this file type is a symbolic link that is also a file.