Trait std::os::unix::fs::FileTypeExt

1.5.0 · source ·
pub trait FileTypeExt {
    // Required methods
    fn is_block_device(&self) -> bool;
    fn is_char_device(&self) -> bool;
    fn is_fifo(&self) -> bool;
    fn is_socket(&self) -> bool;
}
Available on Unix only.
Expand description

特定于 Unix 的 fs::FileType 扩展。

增加了对特殊 Unix 文件类型的支持,例如 block/character 设备,管道和套接字。

Required Methods§

source

fn is_block_device(&self) -> bool

如果此文件类型是块设备,则返回 true

Examples
use std::fs;
use std::os::unix::fs::FileTypeExt;
use std::io;

fn main() -> io::Result<()> {
    let meta = fs::metadata("block_device_file")?;
    let file_type = meta.file_type();
    assert!(file_type.is_block_device());
    Ok(())
}
Run
source

fn is_char_device(&self) -> bool

如果此文件类型是 char 设备,则返回 true

Examples
use std::fs;
use std::os::unix::fs::FileTypeExt;
use std::io;

fn main() -> io::Result<()> {
    let meta = fs::metadata("char_device_file")?;
    let file_type = meta.file_type();
    assert!(file_type.is_char_device());
    Ok(())
}
Run
source

fn is_fifo(&self) -> bool

如果此文件类型为 fifo,则返回 true

Examples
use std::fs;
use std::os::unix::fs::FileTypeExt;
use std::io;

fn main() -> io::Result<()> {
    let meta = fs::metadata("fifo_file")?;
    let file_type = meta.file_type();
    assert!(file_type.is_fifo());
    Ok(())
}
Run
source

fn is_socket(&self) -> bool

如果此文件类型是套接字,则返回 true

Examples
use std::fs;
use std::os::unix::fs::FileTypeExt;
use std::io;

fn main() -> io::Result<()> {
    let meta = fs::metadata("unix.socket")?;
    let file_type = meta.file_type();
    assert!(file_type.is_socket());
    Ok(())
}
Run

Implementors§