До Java 6 не підтримується оновлення дозволу на файлі на рівні Java. Вам належить реалізувати власний власний метод або зателефонувати, Runtime.exec()
щоб виконати команду рівня ОС, наприклад chmod .
Починаючи з Java 6, ви можете використовувати File.setReadable()/File.setWritable()/File.setExecutable()
для встановлення дозволів файлів. Але вона не імітує файлову систему POSIX, яка дозволяє встановлювати дозвіл для різних користувачів. File.setXXX () дозволяє встановлювати дозвіл власнику та всім іншим.
Починаючи з Java 7, вводиться дозвіл файлів POSIX. Ви можете встановити дозволи файлів, як те, що ви робили в * nix системах. Синтаксис:
File file = new File("file4.txt");
file.createNewFile();
Set<PosixFilePermission> perms = new HashSet<>();
perms.add(PosixFilePermission.OWNER_READ);
perms.add(PosixFilePermission.OWNER_WRITE);
Files.setPosixFilePermissions(file.toPath(), perms);
Цей метод можна використовувати лише у файловій системі POSIX, це означає, що ви не можете його викликати в системі Windows.
Щоб отримати детальну інформацію про управління дозволом на файли, рекомендую прочитати цю публікацію .
Files.setPosixFilePermissions(path, PosixFilePermissions.fromString("rwxr-x---"))