我想知道如何验证是否存在给定的目录路径,并且需要验证以下内容。
1)目录是否可读?
2)目录是否可写?
3)如果是可写的,在该文件中创建一个文件,将一些内容写入该文件,然后删除该文件。
我读取canWrite()方法是不合适的,因为即使该目录没有权限,它仍然返回true。
我看到有java.io.FilePermissions
,但可能很少SecurityExceptions
,请
答案 0 :(得分:1)
我会使用java.nio.file
包。它拥有您需要的所有功能。
答案 1 :(得分:1)
无法保证尝试在目录中创建文件会成功。
即使你可以确定一个目录是可写的,其他一些程序也可能会改变一些导致它不再真实的东西......一会儿之后。
在某些系统上(例如,在“强制”模式下使用SELinux的Linux),Java应用程序不知道(也无法找到)成功创建的所有前提条件。
< / LI>Java安全沙箱在此问题上有发言权......如果您的应用程序是沙盒的。
最简单,最安全的解决方案是尝试创建文件,并在失败时处理异常。