1

我尝试使用语句打开一个 pdf 文件

Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler " + "Sample.pdf");.

但是我没有pdf在我的系统中安装阅读器。所以当我执行这个程序时什么都没有显示。没有例外。Pdf如果系统中未安装阅读器,任何想法都会出现异常。如果Pdf已经安装了阅读器,则此程序运行良好。

4

2 回答 2

2

编辑
因为我以前的解决方案不起作用。这是另一个肯定会为您工作的方法:

try
{
  File file = new File("Sample.pdf");
  java.awt.Desktop.getDeskTop().open(file);
  System.out.println("File opened successfully");
}catch(Exception ex)
{
  System.out.println("Error occurred: "+ex);
}
于 2013-03-26T06:51:13.093 回答
0

为此,您必须处理注册密钥。

使用JNI来解决问题。

String productName = Advapi32Util.registryGetStringValue(
            WinReg.HKEY_LOCAL_MACHINE, "SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion", "ProductName");
        System.out.printf("Product Name: %s\n", productName);

使用 Java 读取/写入 Windows 注册表

于 2013-03-26T06:54:02.960 回答