私はWindowsとUNIXシステムにjavaコードをデプロイしています。ファイルを特定のディレクトリ(unix)に移動するためのファイルアクセス権を追加する必要があります。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();
}
上記のコードは、UNIXで正しく実行されているが、Windows 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で同様のパーミッションを設定する場合は、https://www.journaldev.com/855/how-to-set-file-permissions-in-java-easily-using-java-7リンクをクリックしてください。 -posixfilepermission – Apolozeus