0

我正在制作一个软件,我必须在其中显示 pdf 文件。我已将 pdf 文件存储在我的项目文件夹中。该软件运行完美。

但是当我清理并构建项目然后我运行我的 jar exe 文件时,pdf 文件没有打开。

经过一些实验后,我将我的 pdf 文件包含在 SRC 文件夹中,然后清理并构建项目。我发现的不同之处在于,现在 jar 文件的大小更大(它等于所有 pdf 文件的总和),我认为这次它会起作用。但它没有用。

然后经过更多的实验,我将所有文件都包含在了 Dist 文件夹中。

然后jar文件可以打开pdf文件:),我很高兴但不满意,因为我只需要创建一个jar文件并看到项目文件夹中的所有pdf文件都有一个jar文件看起来真的很尴尬而且毫无意义,是他们无论如何,我可以只使用 jar 文件打开 pdf 文件,而无需将 pdf 文件复制到存储我的 jar 文件的文件夹中,. 这是我用来打开一个名为“aleemullah resume”的文件的代码。

try{
    Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler " + "aleemullah resume.pdf");
}
catch (Exception e) {
        JOptionPane.showMessageDialog(null, "Error");
}
4

1 回答 1

1

看起来好像您正在从当前工作目录(即启动程序的文件夹)中读取 PDF 文件。按照这种逻辑,您应该能够通过输入完整路径来打开存储在任何地方的 PDF,而不仅仅是文件名。例如:

String filePath = "C:\Users\you\Desktop\aleemullah resume.pdf"
Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler " + filePath);

filePath将变量更改为存储 PDF 文件的位置。

如果您希望用户在运行时选择 PDF,您还可以考虑使用JFileChooser来选择文件。查看此示例,了解如何从 Java 打开对话框以选择 PDF 文件并检索其路径。

于 2013-11-04T16:02:36.710 回答