Рубрики
Без рубрики

Как установить разрешение на файл в Java

– Как установить разрешение на файл в Java

В Java права доступа к файлам очень специфичны для ОС: *nix, NTFS (Windows) и FAT/FAT32, все они имеют разные права доступа к файлам. Java поставляется с некоторым общим разрешением на доступ к файлам для работы с ним.

Проверьте, позволяет ли разрешение на файл :

  1. file.CanExecute(); – возвращает значение true, файл является исполняемым; значение false – нет.
  2. file.CanWrite(); – возвращает значение true, файл доступен для записи; значение false – нет.
  3. file.CanRead(); – возвращает значение true, файл доступен для чтения; значение false – нет.

Установите разрешение на доступ к файлу :

  1. файл.setexecutable (логический) ; – true, разрешить выполнение операций; false, чтобы запретить это.
  2. файл.Настраиваемый для чтения (логический) ; – true, разрешает операции чтения; false, чтобы запретить их.
  3. файл.Записываемый (логический ); – true, разрешить операции записи; false, чтобы запретить это.

В системе *nix вам может потребоваться настроить дополнительные параметры разрешения файла, например, установить разрешение 777 для файла или каталога, однако классы ввода-вывода Java не имеют для этого готового метода, но вы можете использовать следующий обходной путь:

Runtime.getRuntime().exec("chmod 777 file");

Пример разрешения файла

package com.mkyong.file;

import java.io.File;
import java.io.IOException;

public class FilePermissionExample 
{
    public static void main( String[] args )
    {	
    	try {
    		 
	      File file = new File("/mkyong/shellscript.sh");
	      
	      if(file.exists()){
	    	  System.out.println("Is Execute allow : " + file.canExecute());
		  System.out.println("Is Write allow : " + file.canWrite());
		  System.out.println("Is Read allow : " + file.canRead());
	      }
	         
	      file.setExecutable(false);
	      file.setReadable(false);
	      file.setWritable(false);
	      
	      System.out.println("Is Execute allow : " + file.canExecute());
	      System.out.println("Is Write allow : " + file.canWrite());
	      System.out.println("Is Read allow : " + file.canRead());
	      
	      if (file.createNewFile()){
	        System.out.println("File is created!");
	      }else{
	        System.out.println("File already exists.");
	      }
	      
    	} catch (IOException e) {
	      e.printStackTrace();
	    }
    }
}

Пример разрешения файла

  1. Пример разрешения файла

Оригинал: “https://mkyong.com/java/how-to-set-the-file-permission-in-java/”