如何验证目录是否存在以及java中的可读/可写

时间:2014-02-08 00:17:40

标签: java

我想知道如何验证是否存在给定的目录路径,并且需要验证以下内容。

1)目录是否可读?

2)目录是否可写?

3)如果是可写的,在该文件中创建一个文件,将一些内容写入该文件,然后删除该文件。

我读取canWrite()方法是不合适的,因为即使该目录没有权限,它仍然返回true。 我看到有java.io.FilePermissions,但可能很少SecurityExceptions,请

2 个答案:

答案 0 :(得分:1)

我会使用java.nio.file包。它拥有您需要的所有功能。

答案 1 :(得分:1)

无法保证尝试在目录中创建文件会成功。

  • 即使你可以确定一个目录是可写的,其他一些程序也可能会改变一些导致它不再真实的东西......一会儿之后。

  • 在某些系统上(例如,在“强制”模式下使用SELinux的Linux),Java应用程序不知道(也无法找到)成功创建的所有前提条件。

    < / LI>
  • Java安全沙箱在此问题上有发言权......如果您的应用程序是沙盒的。

最简单,最安全的解决方案是尝试创建文件,并在失败时处理异常。