Checking for write access in a directory before creating files inside it

后端 未结 4 2066
长情又很酷
长情又很酷 2020-12-16 09:49

My small utility application asks the user for an output directory via a GUI file selector. Then it creates a lot of files in this output directory after some processing.

4条回答
  •  Happy的楠姐
    2020-12-16 10:49

    Using Java 1.8 I was able to use the following.

    Set permissions = Files.getPosixFilePermissions(Paths.get(destDir), LinkOption.NOFOLLOW_LINKS);
    Assert.assertTrue("User did not have read permission.", permissions.contains(PosixFilePermission.OWNER_READ));
    Assert.assertTrue("User did not have execute permission.", permissions.contains(PosixFilePermission.OWNER_EXECUTE));
    Assert.assertTrue("User did not have write permission.", permissions.contains(PosixFilePermission.OWNER_WRITE));
    
    Assert.assertFalse("Group did have read permission.", permissions.contains(PosixFilePermission.GROUP_READ));
    Assert.assertFalse("Group did have execute permission.", permissions.contains(PosixFilePermission.GROUP_EXECUTE));
    Assert.assertFalse("Group did have write permission.", permissions.contains(PosixFilePermission.GROUP_WRITE));
    
    Assert.assertFalse("Others did have read permission.", permissions.contains(PosixFilePermission.OTHERS_READ));
    Assert.assertFalse("Others did have execute permission.", permissions.contains(PosixFilePermission.OTHERS_EXECUTE));
    Assert.assertFalse("Others did have write permission.", permissions.contains(PosixFilePermission.OTHERS_WRITE));
    

提交回复
热议问题