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

Класс Metadata

Класс Metadata содержит информацию о файле или директории, полученную из операционной системы. Объект этого класса возвращается методом metadata у типа Path и методом metadata у DirEntry. Метаданные включают размер файла, тип файла, права доступа, а также временные метки создания, изменения и доступа.

Синтаксис

use std::fs::Metadata; use std::path::Path; let metadata: Metadata = Path::new("file.txt").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 metadata = std::path::Path::new("test.txt").metadata().unwrap(); println!("{}", metadata.len()); }

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

5

Пример

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

use std::fs::File; fn main() { File::create("test.txt").unwrap(); let metadata = std::path::Path::new("test.txt").metadata().unwrap(); println!("is_file: {}", metadata.is_file()); println!("is_dir: {}", metadata.is_dir()); }

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

is_file: true is_dir: false

Пример

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

use std::fs::File; fn main() { File::create("test.txt").unwrap(); let metadata = std::path::Path::new("test.txt").metadata().unwrap(); let modified = metadata.modified().unwrap(); println!("{:?}", modified); }

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

SystemTime { tv_sec: 1700000000, tv_nsec: 0 }

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

  • класс len,
    который возвращает размер файла в байтах
  • метод is_file,
    который проверяет, является ли объект файлом
  • метод is_dir,
    который проверяет, является ли объект директорией
  • метод metadata,
    который возвращает метаданные для пути
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить