gpt4 book ai didi

java - 打开位于资源文件夹中的 pdf 文件

转载 作者:行者123 更新时间:2023-12-04 00:32:34 26 4
gpt4 key购买 nike

我正在尝试使用我的应用程序打开位于资源文件夹中的 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();
}
}
}

我指的是 pdf 变量:“name_of_the_file.pdf”

编辑:我粘贴了整个方法

最佳答案

好的,解决了。该文件位于 Jar 中,获取它的唯一方法是通过 inputsteam/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)
}
}

关于java - 打开位于资源文件夹中的 pdf 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16337218/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com