我在eclipse中运行一个引用程序源文件夹中的文件的程序。但是,当我将程序导出到可运行的JAR时,程序似乎无法找到该文件。从本质上讲,该程序在eclipse中工作得很好,但当它是一个独立的程序时却不会这样做。
我附上了一张如何在程序中引用该文件的照片。
答案 0 :(得分:8)
一旦它在jar中,你就无法使用new File()
找到它 - 它现在是一个类路径资源。您需要使用this.getClass().getResourceAsStream("/TestFileFolder/TRANSFER.xls");
(或者,如果您的方法是静态的,则需要使用className.class
代替getClass()
)。
这实际上是一个功能 - 如果由于任何原因你需要更改TRANSFER.xls
资源,你可以通过在类路径中隐藏它而不重新打包jar来实现。