为什么我的文件不能用java读取?

时间:2017-09-27 03:35:32

标签: java file text-files filenotfoundexception

我试图在java中读取一个文本文档。我的程序正在找到该文件;我可以看到它能够通过各种测试确定正确的绝对路径,但问题似乎是我的程序没有查看文件的权限?

File names = new File("names.txt");
if(names.setReadable(true, false (edit: true)))
    System.out.println("Can now be read");
if(names.canRead())
    System.out.println("Can be read");

FileInputStream fs = new FileInputStream(names);
BufferedReader br = new BufferedReader(new InputStreamReader(fs));

每个if语句中的布尔表达式的计算结果为false,我无法理解为什么或如何更改它。我遇到FileNotFoundException,我尝试创建一个新的FileInputStream,我读到这是因为该文件是不可读的。

编辑:现在我已经将setReadable方法调用的第二个参数更改为true,并且该部分有效(它打印"现在可以读取");所以看起来文件被找到并设置为可读但仍然是第二个if语句失败并且程序无法访问文本文档。

1 个答案:

答案 0 :(得分:0)

这应该是:

if(names.setReadable(true, true))

第二个参数应为true,以便所有者可以访问该文件。

如果将其设置为false,程序将无法读取该文件。

有关详细信息,请参阅here