pub struct FileType(_);
Expand description
表示文件类型的结构体,每个文件类型都有访问器。
通过 Metadata::file_type
方法返回。
Implementations§
source§impl FileType
impl FileType
sourcepub fn is_dir(&self) -> bool
pub fn is_dir(&self) -> bool
测试此文件类型是否代表目录。
结果与 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(())
}
Runsourcepub fn is_file(&self) -> bool
pub fn is_file(&self) -> bool
测试此文件类型是否代表常规文件。
结果与 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(())
}
Runsourcepub fn is_symlink(&self) -> bool
pub fn is_symlink(&self) -> bool
测试此文件类型是否代表符号链接。
结果与 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(())
}
RunTrait Implementations§
1.64.0 · source§impl FileTypeExt for FileType
Available on Windows only.
impl FileTypeExt for FileType
Available on Windows only.
source§fn is_symlink_dir(&self) -> bool
fn is_symlink_dir(&self) -> bool
如果此文件类型是也是目录的符号链接,则返回
true
。source§fn is_symlink_file(&self) -> bool
fn is_symlink_file(&self) -> bool
如果此文件类型是也是文件的符号链接,则返回
true
。source§impl FileTypeExt for FileType
Available on WASI only.
impl FileTypeExt for FileType
Available on WASI only.
source§fn is_block_device(&self) -> bool
fn is_block_device(&self) -> bool
🔬This is a nightly-only experimental API. (
wasi_ext
#71213)如果此文件类型是块设备,则返回
true
。source§fn is_char_device(&self) -> bool
fn is_char_device(&self) -> bool
🔬This is a nightly-only experimental API. (
wasi_ext
#71213)如果此文件类型是字符设备,则返回
true
。source§fn is_socket_dgram(&self) -> bool
fn is_socket_dgram(&self) -> bool
🔬This is a nightly-only experimental API. (
wasi_ext
#71213)如果此文件类型是套接字数据报,则返回
true
。source§fn is_socket_stream(&self) -> bool
fn is_socket_stream(&self) -> bool
🔬This is a nightly-only experimental API. (
wasi_ext
#71213)如果此文件类型是套接字流,则返回
true
。1.5.0 · source§impl FileTypeExt for FileType
Available on Unix only.
impl FileTypeExt for FileType
Available on Unix only.
impl Copy for FileType
impl Eq for FileType
impl StructuralEq for FileType
impl StructuralPartialEq for FileType
Auto Trait Implementations§
impl RefUnwindSafe for FileType
impl Send for FileType
impl Sync for FileType
impl Unpin for FileType
impl UnwindSafe for FileType
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
从拥有的值中借用。 Read more