Очень часто, особенно, в Unix-системах необходимо просматривать и управлять правами доступа к файлам. Java предлагает API для просмотра права с помощью класса File
:
File.canRead()
– возвращает true, если есть доступ на чтениеFile.canWrite()
– возвращает true, есть есть возможность изменить файлFile.canExecute()
– возвращает true, если файл может быть запущен
Также можно изменять права доступа с помощьюFile.setExecutable()
, File.setWritable()
и File.setReadable()
. Пример кода:
package ru.mydesignstudio.file; import java.io.File; public class TestPermissions { public static void main(String[] args) { File testFile = new File("./testFile.txt"); if (testFile.exists()) { System.out.println("Чтение разрешено: " + testFile.canRead()); System.out.println("Изменение разрешено: " + testFile.canWrite()); System.out.println("Запуск разрешен: " + testFile.canExecute()); testFile.setExecutable(false); testFile.setReadable(true); testFile.setWritable(false); System.out.println("----"); System.out.println("Чтение разрешено: " + testFile.canRead()); System.out.println("Изменение разрешено: " + testFile.canWrite()); System.out.println("Запуск разрешен: " + testFile.canExecute()); testFile.setExecutable(false); testFile.setWritable(true); testFile.setReadable(true); } } }
Результат выполнения:
Чтение разрешено: true Изменение разрешено: true Запуск разрешен: false ---- Чтение разрешено: true Изменение разрешено: false Запуск разрешен: false