Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗rsPmFsPm 370 of 373 menu
◀ ▶

Права файла в Rust

Права файла читают из сведений о пути. После успешного запроса метаданных метод прав отдает значение, которое на разных системах устроено по-разному. Часто достаточно проверить, открыт ли файл только для чтения.

Создадим файл и посмотрим флаг только чтения:

use std::fs; use std::io; fn show_readonly() -> io::Result<()> { let info = fs::metadata("note.txt")?; let perm = info.permissions(); if perm.readonly() { println!("readonly"); } else { println!("writable"); } Ok(()) } fn main() -> io::Result<()> { fs::write("note.txt", "x")?; show_readonly()?; Ok(()) }

Сами права можно вывести для отладки через форматирование:

use std::fs; use std::io; fn main() -> io::Result<()> { let info = fs::metadata("note.txt")?; let perm = info.permissions(); println!("{:?}", perm); Ok(()) }

Дан путь:

let path = "data/note.txt";

Создайте файл, запросите метаданные и выведите "readonly" или "writable".

Дан путь:

let path = "note.txt";

Скажите, из какого шага берут объект прав.

Оформите проверку прав в функцию с исходом и вызовите ее из main.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить