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

Метод set_permissions

Метод set_permissions устанавливает права доступа к открытому файлу. Параметром метод принимает объект Permissions, который описывает новые права доступа к файлу. Метод возвращает Result с типом в случае успеха или ошибку std::io::Error, если установить права не удалось.

Обычно объект Permissions получают из метода metadata, а затем изменяют его настройки, например, через методы set_readonly или set_mode (последний доступен только в Unix-системах).

Синтаксис

file.set_permissions(perm)

Пример

Давайте откроем файл "test.txt", получим его текущие права доступа, сделаем файл доступным только для чтения и установим новые права:

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

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

Permissions(0o100444)

Пример

Давайте снимем флаг «только для чтения» с файла "test.txt" и вернём ему возможность записи:

use std::fs::File; fn main() { let file = File::open("test.txt").unwrap(); let mut perm = file.metadata().unwrap().permissions(); perm.set_readonly(false); file.set_permissions(perm).unwrap(); let res = file.metadata().unwrap().permissions(); println!("{:?}", res); }

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

Permissions(0o100644)

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

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