Java 6'dan önce, Java düzeyinde dosya izni güncelleme desteği yoktur. Kendi yerel yönteminizi uygulamanız veya chmodRuntime.exec() gibi işletim sistemi düzeyinde komutu yürütmek için çağrı yapmanız gerekir .
Java 6'dan başlayarak, File.setReadable()/File.setWritable()/File.setExecutable()dosya izinlerini ayarlamak için kullanabilirsiniz . Ancak, farklı kullanıcılar için izin ayarlamaya izin veren POSIX dosya sistemini simüle etmez. File.setXXX () yalnızca sahip ve diğer herkes için izin ayarlamaya izin verir.
Java 7'den başlayarak, POSIX dosya izni tanıtıldı. * Nix sistemlerinde yaptığınız gibi dosya izinlerini ayarlayabilirsiniz. Sözdizimi şöyledir:
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);
Bu yöntem yalnızca POSIX dosya sisteminde kullanılabilir, bu, onu Windows sisteminde çağıramayacağınız anlamına gelir.
Dosya izin yönetimi ile ilgili ayrıntılar için bu yazıyı okumanızı tavsiye ederiz. .
Files.setPosixFilePermissions(path, PosixFilePermissions.fromString("rwxr-x---"))