我正在制作一个软件,我必须显示pdf文件。我已将pdf文件存储在我的项目文件夹中。该软件运行完美。
但是当我清理并构建项目然后我运行我的jar exe文件时,pdf文件没有打开。
经过一些实验,我将我的pdf文件包含在SRC文件夹中,然后清理并构建项目。我发现的差异是,现在jar文件的大小更大(它等于所有pdf文件的总和),我想这次它会起作用。但它没有用。
然后经过更多实验后,我将所有文件都包含在Dist文件夹中。
然后jar文件可以打开pdf文件:),我很开心但不满意,因为我只需要创建一个jar文件并查看项目文件夹中的所有pdf文件,其中一个jar文件看起来真的很笨拙而且毫无意义无论如何,我只能使用jar文件打开pdf文件而不复制存储我的jar文件的文件夹中的pdf文件。这是我用来打开名为“aleemullah resume”的文件的代码。
try{
Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler " + "aleemullah resume.pdf");
}
catch (Exception e) {
JOptionPane.showMessageDialog(null, "Error");
}
答案 0 :(得分:1)
看起来您正在从当前工作目录(即从中启动程序的文件夹)中读取PDF文件。按照这种逻辑,您应该能够通过输入完整路径打开存储在任何地方的PDF,而不仅仅是文件名。例如:
String filePath = "C:\Users\you\Desktop\aleemullah resume.pdf"
Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler " + filePath);
将filePath
变量更改为存储PDF文件的位置。
如果您希望用户在运行时选择PDF,您也可以考虑使用JFileChooser来选择文件。查看this example如何从Java打开对话框以选择PDF文件并检索其路径。