我创建了一个简单的Java应用程序,它尝试读取文件,并完成对该文件的操作。
问题: 在使用绝对路径请求文件时,我得到FileNotFoundException。
public static void main(String... args) throws Exception {
String path = "/Users/kentandersen/Downloads/greendaoprotobuf-master/test";
File files = new File(path);
System.out.println(files.getAbsoluteFile());
System.out.print(files.canRead() + "\n");
//Error occurs here.
String[] fileNames = new Scanner(files, "UTF-8").useDelimiter("\\A").next().split("\n");
}
以下是日志。
/Users/kentandersen/Downloads/greendaoprotobuf-master/test
true
Exception in thread "main" java.io.FileNotFoundException: /Users/kentandersen/Downloads/greendaoprotobuf-master/test (No such file or directory)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:120)
at java.util.Scanner.<init>(Scanner.java:654)
Process finished with exit code 1
日志清楚地表明我可以读取这些文件,然后Scanner运行并说它不存在。
我可以将日志和CD中的绝对路径复制到该位置,它就在那里。
我使用的是Intellij 13。
答案 0 :(得分:2)
您在目录上使用Scanner
。你应该在文件上使用它。
/Users/kentandersen/Downloads/greendaoprotobuf-master/test
是一个目录。
尝试类似
的内容files.listFiles()