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

Функция set_permissions

Функция set_permissions изменяет права доступа к файлу или директории по указанному пути. Первым параметром функция принимает путь к файлу или директории, а вторым - объект Permissions с новыми правами доступа. Функция возвращает io::Result<()>: Ok(()) в случае успеха или ошибку Err, если изменить права не удалось.

Синтаксис

fs::set_permissions(path, perm)

Пример

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

use std::fs; use std::fs::Permissions; fn main() { fs::write("test.txt", "abcde").unwrap(); let mut perm = fs::metadata("test.txt").unwrap().permissions(); perm.set_readonly(true); fs::set_permissions("test.txt", perm).unwrap(); let res = fs::metadata("test.txt").unwrap().permissions(); println!("{}", res.readonly()); }

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

true

Пример

Давайте вернём файлу возможность записи и проверим результат:

use std::fs; fn main() { fs::write("test.txt", "abcde").unwrap(); let mut perm = fs::metadata("test.txt").unwrap().permissions(); perm.set_readonly(true); fs::set_permissions("test.txt", perm).unwrap(); let mut perm = fs::metadata("test.txt").unwrap().permissions(); perm.set_readonly(false); fs::set_permissions("test.txt", perm).unwrap(); let res = fs::metadata("test.txt").unwrap().permissions(); println!("{}", res.readonly()); }

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

false

Пример

Давайте попробуем изменить права доступа к несуществующему файлу и обработаем ошибку:

use std::fs; fn main() { let mut perm = fs::metadata("test.txt") .unwrap() .permissions(); perm.set_readonly(true); let res = fs::set_permissions("no_file.txt", perm); println!("{}", res.is_err()); }

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

true

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

  • функция metadata,
    которая возвращает метаданные файла или директории
  • функция symlink_metadata,
    которая возвращает метаданные символической ссылки
  • функция read,
    которая читает содержимое файла в байтовый вектор
  • функция write,
    которая записывает данные в файл
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить