为什么我的文件不能用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,并且该部分工作(它打印“现在可以读取”);所以似乎该文件被发现并设置为可读,但仍然是第二个如果语句失败,程序无法访问文本文档。
答
这应该是:
if(names.setReadable(true, true))
第二个参数应该是true
让主人可以访问该文件。
如果将其设置为false,程序将无法读取文件。
欲了解更多信息,请阅读here。
如果您的异常是FileNotFoundException,那么您错误地指出了文件的位置。 File file = new File(“C:\\ filePath \\ yourfile.txt”); – Myo