从其他包中获取时找不到文件异常

时间:2016-02-25 04:57:11

标签: java file io

我正在尝试访问位于我的vat包中的.xls文件。这是我使用的代码

          String fileName=this.getClass().getResource("/resource/vat/form_dvat_31.xls").toString();

但它显示以下异常

java.io.FileNotFoundException: file:/home/gautam/workspace/application/bin/resource/vat/form_dvat_31.xls (No such file or directory)
at java.io.FileInputStream.open0(Native Method)
at java.io.FileInputStream.open(FileInputStream.java:195)
at java.io.FileInputStream.<init>(FileInputStream.java:138) 

然而,当我使用本地计算机的路径时,它工作正常。

2 个答案:

答案 0 :(得分:0)

使用Class.getResource()方法加载资源并使用&#34; /&#34;启动资源名称时,方法将使用资源名称的绝对路径加载。

在您的情况下,.xls文件应放在resource.vat目录中的src包下,以使其在bin下的同一目录中可用。

更多信息:Location-Independent Access to Resources

答案 1 :(得分:0)

使用 getResourceAsStream 代替 getResource() - 直接为您提供InputStream。或者,如果您想要其他内容的网址,请继续使用 getResource() ,然后使用 URL.openStream() 获取数据。