【Java-파일】파일과 디렉토리에 권한부여하기

【Java-파일】파일과 디렉토리에 권한부여하기

1. 설명

이 포스트의 예제는 파일이나 디렉토리에 리눅스에서 권한부여를 할때 사용하는 명령어 chmod처럼 숫자값을 사용하여 권한을 부여하는 코드입니다.

2. 소스코드

- 메서드

public boolean setPermission(String path, Integer permission) { File f = new File(path); if (!f.exists()) { return false; } File target = new File(path); boolean res = false; switch (permission) { case PERMISSION_X: res = setPermission(target,false,false,true); break; case PERMISSION_W: res = setPermission(target,false,true,false); break; case PERMISSION_R: res = setPermission(target,true,false,false); break; case PERMISSION_WX: res = setPermission(target,false,true,true); break; case PERMISSION_RX: res = setPermission(target,true,false,true); break; case PERMISSION_RWX: res = setPermission(target,true,true,true); break; default: res = setPermission(target,false,false,false); break; } return res; } private boolean setPermission(File target , boolean read, boolean write, boolean exe) { try { target.setReadable(read); target.setWritable(write); target.setExecutable(exe); return true; } catch (Exception e) { e.printStackTrace(); return false; } }

- 메인

public class File_08_SetPermission { public static void main(String[] args) { try { for (String str : args ) { System.out.println("Param : "+str); } String path = args[0]; String value = args[1]; FileUtil fu = new FileUtil(); System.out.println("Before : "+ fu.checkPermission(path)); System.out.println("Result : "+ fu.setPermission(path, Integer.parseInt(value))); System.out.println("After : "+ fu.checkPermission(path)); System.exit(0); } catch (Exception e) { e.printStackTrace(); System.exit(1); } } }

3. 실행결과【Windows(이클립스) / Linux】

4. 전체코드

https://github.com/leeyoungseung/template-java

from http://koiking.tistory.com/33 by ccl(A) rewrite - 2021-09-13 01:01:01