Метод is_file
Метод is_file проверяет, является ли объект,
к которому относятся метаданные, обычным файлом.
Он возвращает true, если это файл, и
false в противном случае. Метод не принимает
параметров и вызывается на экземпляре структуры
Metadata. Метаданные обычно получают через
метод metadata у пути или через
fs::metadata.
Синтаксис
metadata.is_file()
Пример
Давайте создадим файл и проверим, является ли он обычным файлом:
use std::fs;
fn main()
{
fs::write("test.txt", "abcde").unwrap();
let meta = fs::metadata("test.txt").unwrap();
let res = meta.is_file();
println!("{}", res);
fs::remove_file("test.txt").unwrap();
}
Результат выполнения кода:
true
Пример
Давайте создадим директорию и проверим, является ли она обычным файлом:
use std::fs;
fn main()
{
fs::create_dir("test_dir").unwrap();
let meta = fs::metadata("test_dir").unwrap();
let res = meta.is_file();
println!("{}", res);
fs::remove_dir("test_dir").unwrap();
}
Результат выполнения кода:
false
Пример
Давайте получим метаданные через метод metadata
у пути и проверим тип файла:
use std::fs;
use std::path::Path;
fn main()
{
fs::write("test.txt", "12345").unwrap();
let path = Path::new("test.txt");
let meta = path.metadata().unwrap();
let res = meta.is_file();
println!("{}", res);
fs::remove_file("test.txt").unwrap();
}
Результат выполнения кода:
true