Функция metadata
Функция metadata из модуля std::fs возвращает структуру Metadata, которая содержит информацию о файле или директории. Параметром функция принимает путь к файлу или директории, метаданные которого нужно получить. Функция возвращает результат типа io::Result<Metadata>.
Синтаксис
use std::fs;
fs::metadata(path)
Пример
Давайте получим метаданные файла и выведем его размер:
use std::fs;
fn main()
{
let meta = fs::metadata("test.txt").unwrap();
println!("Size: {} bytes", meta.len());
}
Результат выполнения кода:
Size: 12 bytes
Пример
Давайте проверим, является ли объект директорией:
use std::fs;
fn main()
{
let meta = fs::metadata("my_folder").unwrap();
println!("Is dir: {}", meta.is_dir());
println!("Is file: {}", meta.is_file());
}
Результат выполнения кода:
Is dir: true
Is file: false
Пример
Давайте получим информацию о правах доступа к файлу:
use std::fs;
fn main()
{
let meta = fs::metadata("test.txt").unwrap();
let perms = meta.permissions();
println!("Read only: {}", perms.readonly());
}
Результат выполнения кода:
Read only: false
Смотрите также
-
функция
symlink_metadata,
которая возвращает метаданные символической ссылки без перехода по ней -
функция
read_dir,
которая возвращает итератор по записям директории -
функция
set_permissions,
которая изменяет права доступа к файлу -
функция
canonicalize,
которая возвращает канонический абсолютный путь