2013-04-05 162 views
0

我正在测试我写的一个方法是抛出一个文件异常。我通过对文件的读取权限设置为falsesetReadable(true)在setReadable(false)后不起作用

 File f = new File(unreadableFile); 
    f.setReadable(false); 
    // Run test 
    f.setReadable(true); 

问题触发例外是f.setReadable(真)不设置权限回应该是什么。我有另一个测试正常操作模式的测试,它总是失败,因为f.setReadable(true)没有将文件恢复到异常测试运行之前的状态。我检查了磁盘上的权限,这是错误的。

+0

调试步骤1:您是否曾尝试以root/administrator身份运行该程序? – Zyerah 2013-04-05 04:23:44

+0

当且仅当操作成功时,从JavaDocs * true中检查返回值。如果用户没有权限更改此抽象路径名的访问权限,则操作将失败。如果可读性错误且基础文件系统未实现读取权限,则操作将失败。* – MadProgrammer 2013-04-05 04:31:51

回答

0

引述文档

返回true当且仅当操作成功。如果用户没有权限更改此抽象路径名的访问权限,则操作将失败。如果可读性错误且基础文件系统未实现读取权限,则操作将失败。

检查返回值并检查您是否有权执行操作。该操作非常像delete(),如果您没有权限,可能会失败。

相关问题