我正在使用eclipse。
我在我的src
文件夹中放了一个.pdf文件,我想用默认的OS程序打开它。问题是,如果我用eclipse执行程序,我可以打开它(点击MenuItem),如下所示:
File memo=new File("src/chap.pdf");
try {
Desktop.getDesktop().open(memo);
} catch (IOException e) {
e.printStackTrace();
}
但是,在将项目导出到jar文件之后,这不再起作用了。
所以我的代码中存在问题,还是有另一种方法可以在jar文件中打开文件?
答案 0 :(得分:3)
导出程序后,draw = new ol.interaction.Draw({
source: drawLayer.getSource(),
type: 'LineString',
condition: ol.events.condition.singleClick,
freehandCondition: ol.events.condition.noModifierKeys
});
路径将无法使用,您绝不应以任何方式引用它。
您需要从Jar文件中提取资源并将其写入本地磁盘...
src
然后您可以将提取的文件与try (InputStream is = getClass().getResourceAsStrea("/chap.pdf")) {
try (BufferedOutputStream os = new BufferedOutputStream(new FileOutputStream(...)) {
// Write contents like you would any file
}
} catch (IOException exp) {
exp.printStackTrace();
}