РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
934 of 1245 menu

Метод metadata

Метод metadata класса File возвращает структуру Metadata, содержащую информацию о файле: его размер, права доступа, тип (файл или директория) и время изменения. Метод не принимает параметров и возвращает значение типа io::Result<Metadata>. Если файл не существует или доступ к нему запрещён, будет возвращена ошибка.

Синтаксис

file.metadata()

Пример

Давайте создадим файл и получим его метаданные, чтобы узнать размер файла:

use std::fs::File; use std::io::Write; fn main() { let mut file = File::create("test.txt").unwrap(); file.write_all(b"abcde").unwrap(); let meta = file.metadata().unwrap(); println!("{}", meta.len()); }

Результат выполнения кода:

5

Пример

Давайте проверим, является ли объект файлом или директорией:

use std::fs::File; fn main() { let file = File::open("test.txt").unwrap(); let meta = file.metadata().unwrap(); println!("is_file: {}", meta.is_file()); println!("is_dir: {}", meta.is_dir()); }

Результат выполнения кода:

is_file: true is_dir: false

Пример

Давайте получим права доступа к файлу и проверим, доступен ли он только для чтения:

use std::fs::File; fn main() { let file = File::open("test.txt").unwrap(); let meta = file.metadata().unwrap(); let perm = meta.permissions(); println!("readonly: {}", perm.readonly()); }

Результат выполнения кода:

readonly: false

Смотрите также

  • класс File,
    который представляет открытый файл
  • метод open,
    который открывает файл только для чтения
  • метод set_permissions,
    который изменяет права доступа к файлу
  • метод set_len,
    который изменяет размер файла
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить