【发布时间】:2016-04-15 16:25:10
【问题描述】:
我的程序在参数中获取了一个文件名,但如果我想使用它,我需要完整的目录路径,否则我会得到 filenotfoundexception。 例如: 我的程序从 C:\Users\me\documents 获取了 sample.txt 参数。
File file = new File(args[0]);
FileReader fr = new FileReader(file);
即抛出 filenotfoundexception。 那么我应该用什么来定位文件呢? 我看到了很多类似的问题,但我没有找到解决方案:( 我尝试使用 getResources 和 getPath 但没有。
【问题讨论】:
-
可以获取当前目录,必要时添加到路径中。但是,在盲目添加当前目录之前,还必须处理指定的args[0]是相对路径还是绝对路径。如果您使用的是 Java 8,请查看
Path对象以提供潜在帮助。 -
试着打印出
args[0]看看它是什么。如果该路径正确,您的文件应该存在.. -
当我打印出 args[0].getAbsolutePath 时,它会给出一个完全不同的路径,其中不存在 sample.txt 简单的 getPath 会返回 sample.txt
标签: java file path filenotfoundexception