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

问题描述:

我想在java中简单地阅读文本文档。该文件正在我的程序中找到;我可以看到它能够通过各种测试确定正确的绝对路径,但问题似乎是我的程序没有查看文件的权限?为什么我的文件不能用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,并且该部分工作(它打印“现在可以读取”);所以似乎该文件被发现并设置为可读,但仍然是第二个如果语句失败,程序无法访问文本文档。

+0

如果您的异常是FileNotFoundException,那么您错误地指出了文件的位置。 File file = new File(“C:\\ filePath \\ yourfile.txt”); – Myo

这应该是:

if(names.setReadable(true, true)) 

第二个参数应该是true让主人可以访问该文件。

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

欲了解更多信息,请阅读here