Struct std::fs::FileType 1.1.0[−][src]
pub struct FileType(_);
Expand description
表示文件类型的结构体,每个文件类型都有访问器。
通过 Metadata::file_type
方法返回。
Implementations
测试此文件类型是否代表目录。
结果与 is_file
和 is_symlink
的结果互斥; 这些测试只能通过零或其中一项。
Examples
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
测试此文件类型是否代表常规文件。
结果与 is_dir
和 is_symlink
的结果互斥; 这些测试只能通过零或其中一项。
当目标只是读取 (或写入) 源时,可以读取 (或写入) 最可靠的测试源方法是打开它。
例如,仅使用 is_file
才能中断类似 Unix 的系统上的工作流,例如 diff <( prog_a )
。
有关更多信息,请参见 File::open
或 OpenOptions::open
。
Examples
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
测试此文件类型是否代表符号链接。
结果与 is_dir
和 is_file
的结果互斥; 这些测试只能通过零或其中一项。
需要使用 fs::symlink_metadata
函数而不是 fs::metadata
函数来检索基础 Metadata
结构体。
fs::metadata
函数遵循符号链接,因此 is_symlink
将始终为目标文件返回 false
。
Examples
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
Trait Implementations
This is supported on Unix only.
This is supported on WASI only.
如果此文件类型是块设备,则返回 true
。
如果此文件类型是字符设备,则返回 true
。
如果此文件类型是套接字数据报,则返回 true
。
如果此文件类型是套接字流,则返回 true
。
This is supported on Windows only.
🔬 This is a nightly-only experimental API. (
windows_file_type_ext
)如果此文件类型是也是目录的符号链接,则返回 true
。
🔬 This is a nightly-only experimental API. (
windows_file_type_ext
)如果此文件类型是也是文件的符号链接,则返回 true
。