Mad*_*ore 2 java executable-jar
我正在尝试使用我的应用程序打开位于资源文件夹中的pdf。它确实可以在模拟器上运行,但是当我尝试导出的应用程序时却没有任何反应。我猜我没有使用正确的路径,但看不到我错了。getRessource方法可以很好地处理我的图像。
这是一个代码片段:
public void openPdf(String pdf){
if (Desktop.isDesktopSupported()) {
try {
URL monUrl = this.getClass().getResource(pdf);
File myFile = new File(monUrl.toURI());
Desktop.getDesktop().open(myFile);
} catch (IOException ex) {
// no application registered for PDFs
} catch (URISyntaxException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
Run Code Online (Sandbox Code Playgroud)
我这样指的是pdf变量:“ name_of_the_file.pdf”
编辑:我已经粘贴了整个方法
好,解决了 该文件位于Jar中,唯一的获取方法是通过inputteam / outstream并创建一个临时文件。
这是我的最终代码,效果很好:
public void openPdf(String pdf){
if (Desktop.isDesktopSupported())
{
InputStream jarPdf = getClass().getClassLoader().getResourceAsStream(pdf);
try {
File pdfTemp = new File("52502HPA3_ELECTRA_PLUS_Fra.pdf");
// Extraction du PDF qui se situe dans l'archive
FileOutputStream fos = new FileOutputStream(pdfTemp);
while (jarPdf.available() > 0) {
fos.write(jarPdf.read());
} // while (pdfInJar.available() > 0)
fos.close();
// Ouverture du PDF
Desktop.getDesktop().open(pdfTemp);
} // try
catch (IOException e) {
System.out.println("erreur : " + e);
} // catch (IOException e)
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2705 次 |
| 最近记录: |