java - 如何在Java中打开具有不同路径的pdf文件

标签 java netbeans-7

我有一个 PDF 文件,我想用我的 java 应用程序打开它。当我使用 Netbeans 运行该程序时打开 PDF 文件。但是当我从 .Jar 文件运行该程序时,该 PDF 文件没有打开。

    try {
            String p1[] = getClass().getResource("/Scholars_Management_System_Help.pdf").toString().split("file:/");
            String helppath = p1[1].replace("%20", " ");
            Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler " + helppath);
        } catch (IOException ex) {
            JOptionPane.showMessageDialog(null, ex, "Error", JOptionPane.ERROR_MESSAGE);
            Logger.getLogger(Home.class.getName()).log(Level.SEVERE, null, ex);
        }

最佳答案

我认为 getClass().getResource("/Scholars_Management_System_Help.pdf") 在您的项目根目录中找到一个名为 Scholars_Management_System_Help.pdf 的文件,当您创建 jar 文件时,该文件可能不包含在内在 jar 里,这就是为什么这不起作用。您可能应该从命令行运行 jar,以便查看是否有任何异常抛出。这样您就可以确定问题的原因。

同样,不要使用 Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler "+ helppath); 来运行应用程序(pdf 阅读器),您应该使用 Desktop。 getDesktop().open(file_name); 这使得它更便携。

关于java - 如何在Java中打开具有不同路径的pdf文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15320558/

相关文章:

java.text.ParseException : Unparseable date : "..."

java - tomcat和resin的区别?

java - Java 应用程序的多个实例

java - 调用MySql数据库时出现空指针异常

java - Netbeans 数据库资源管理器和 Microsoft SQL Server 无法相处

java - 有人可以帮助我理解为什么我的 for 循环在 Java 中不起作用(对于拼字游戏)吗?

java - TPM 32 位 key 句柄

java - 集合删除方法不提供并发修改异常

Java 不能在 ubuntu 11.10 上使用 netbeans IDE 7

java - 如何为 Netbeans 7.1 创建可分发的 Java 模板?