2012-04-13 71 views
0
reader = new CSVReader(new FileReader("file.txt")); 

的文件被放置在相同的目录中的Java类。无论如何,我得到FileNotFoundException。读取文件与类相同的目录位置?

出了什么问题?

+0

你可以得到新的文件( “ ”)当前目录。getAbsolutPath()用于调试目的... – wrm 2012-04-13 12:04:01

+0

或者更简单地说System.getProperty(“ user.dir来”) – 2012-04-13 12:05:38

回答

0

相对路径是相对于当前的工作目录。在您的代码示例中,如果file.txt不在您当前的目录中,它将不会被找到。

警惕在代码中使用相对路径。这是因为在编译时不可能告诉你代码运行时当前的工作目录是什么。

如果该文件是部署的一部分,请将其存储在类路径中,并通过ClassLoader.getResourceAsStream()访问它,如果它是用户可以更改的真正的外部数据,请将该文件名置于某种配置中。

0

文件需要在项目的根文件夹。

0

您的应用程序不能在该目录中运行。您必须使用绝对路径(或类路径相对)路径,或将文件移动到应用程序运行的目录。例如,在Eclipse中,这将是您项目的根文件夹。

相关问题