【发布时间】:2012-12-02 15:16:41
【问题描述】:
我有一个 java 项目,我在其中读取了一些 csv 数据。我必须输入具体的路径。现在我想把这个项目发给别人,但他不应该改变路径信息。他应该能够运行该项目,而无需更改代码中的任何内容。
我已将 csv 数据放入我的源文件中,但在尝试使用此路径时出现异常。
BufferedReader in = new BufferedReader(new FileReader("text.csv"));
Exception while reading csv file: java.io.FileNotFoundException: text.csv (No such file or directory)
我正在使用 IDE eclipse。
【问题讨论】:
-
如果文件不存在,它就不存在。如果其他人不需要使用自己的数据,请考虑将 jar 中的 csv 文件打包为资源。
-
并考虑
Class.getResource() -
使用 FileReader 的方法将假定文件存在于当前工作目录中。您可以确保文件确实在当前工作目录中;或者,像戴夫牛顿提到的那样包装它;或确保文件位于类路径中的某个位置并改用 getResourceAsStream 。如果相关程序恰好是 web 应用程序,则最后一种方法是推荐的方法,请参阅stackoverflow.com/questions/2308188/…。
标签: java eclipse csv filereader