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 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.
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