我试图在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语句失败并且程序无法访问文本文档。
答案 0 :(得分:0)
这应该是:
if(names.setReadable(true, true))
第二个参数应为true
,以便所有者可以访问该文件。
如果将其设置为false,程序将无法读取该文件。
有关详细信息,请参阅here。