반응형
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. 전체코드
반응형
'프로그래밍 > Java-자주쓰는예제' 카테고리의 다른 글
【Java-파일】파일과 디렉토리 삭제 (0) | 2021.09.13 |
---|---|
【Java-파일】파일 정보보기 (0) | 2021.09.13 |
【Java-파일】파일과 디렉토리 권한 확인하기 (0) | 2021.09.12 |
【Java-파일】하위 디렉터리 내용을 포함해서 디렉토리 복사 (0) | 2021.09.12 |
【Java-파일】디렉토리생성 (0) | 2021.09.12 |
댓글