设置或检查文件是否可读/可写,这三者有何不同?我在这里的条款之间迷失了......
我需要具体的是以可读模式打开文件?哪一个选择?如果答案是nio.Files我正在使用不包含它的JVM 1.6,那么我怎么能克服呢?
答案 0 :(得分:1)
File.canRead在其实现中使用FilePermission。 Files.isReadable是在JDK 1.7中引入的Java NIO中,它具有完全不同的实现,但应该给出相同的结果。
如果您只需要检查您是否有权从文件中读取文件,请使用File.canRead,但如果您想使用它,则只需打开它并处理IOException(如果权限被拒绝或发生其他一些错误)
答案 1 :(得分:0)
FilePermission
是 Java 安全管理器的一部分。如果您不使用它,请不要担心。另外两个还测试了操作系统授予的权限,这是完全不同的事情。
在99%的情况下,您不需要其中任何一种:只需尝试打开文件并在发生时处理IOExceptions。这样就可以避免计时窗口问题。