Trait std::os::unix::fs::FileTypeExt1.5.0[][src]

pub trait FileTypeExt {
    fn is_block_device(&self) -> bool;
fn is_char_device(&self) -> bool;
fn is_fifo(&self) -> bool;
fn is_socket(&self) -> bool; }
This is supported on Unix only.
Expand description

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

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

Required methods

如果此文件类型是块设备,则返回 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

如果此文件类型是 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

如果此文件类型为 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

如果此文件类型是套接字,则返回 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