UNIX 시스템뿐만 아니라 Windows에도 java 코드가 배포되었습니다. 특정 디렉토리 (유닉스)로 파일을 이동하는 데 필요한 파일 권한을 추가해야합니다. PosixFilePermission을 사용하고 있습니다.PosixFilePermission이 Java에서 UnsupportedOperationException을 일으키는 경우
file1 = new File(expFilePath+ "/" + creationDate);
file1.mkdir();
Set<PosixFilePermission> perms = new HashSet<>();
perms.add(PosixFilePermission.OWNER_READ);
perms.add(PosixFilePermission.OWNER_WRITE);
perms.add(PosixFilePermission.OWNER_EXECUTE);
perms.add(PosixFilePermission.OTHERS_READ);
perms.add(PosixFilePermission.OTHERS_WRITE);
perms.add(PosixFilePermission.OTHERS_EXECUTE);
perms.add(PosixFilePermission.GROUP_READ);
perms.add(PosixFilePermission.GROUP_WRITE);
perms.add(PosixFilePermission.GROUP_EXECUTE);
try {
Files.setPosixFilePermissions(file1.toPath(), perms);
} catch (IOException e1) {
e1.printStackTrace();
}
위의 코드는 유닉스에서 제대로 실행하지만 윈도우 m에 UnsupportedOperationException가의 원인은/C.I는 M/C 창에서 코드를 실행하는 동안 수동으로 코드의이 부분을 언급해야한다.
Java에서 기본 OS 유형을 감지하고 조건부로이 코드 블록을 실행할 수있는 방법이 있습니까?
OS를 검색하려면 https://stackoverflow.com/questions/3282498/how-can-i-detect-a-unix-like-os-in-java를 확인하십시오. 그런 다음 Windows에서 비슷한 permision을 설정하려면 https://www.journaldev.com/855/how-to-set-file-permissions-in-java-easily-using-java-7 링크를 사용하십시오. -posixfilepermission – Apolozeus