实现的Java FX项目中有excel模板文件读取功能,idea下运行可以,但是打包的jar文件在运行时,不能识别jar文件中的excel模板文件,先看看以下代码:
String filePath = ReadXlsFile.class.getResource(CommonUtils.getTemplateFileName4Button(textVal)).getPath();
InputStream is = new FileInputStream(filePath);
jar包目录为:
因为jar包是一个单独的文件而非文件夹,所以不可能通过"file:/e:/…/testRecording.jar/sample/…xls"这种形式的文件URL来定位xls文件。即使是相对路径也不行。
getResourceAsStream方法实现了无论jar文件在系统的什么路径下,都可以找到打入其中的xls文件。代码如下:
**InputStream is = ReadXlsFile.class.getResourceAsStream(CommonUtils.getTemplateFileName4Button(textVal));**