2014-01-23 43 views
1

我试图使用命令行参数作为无法使用java命令行

String command = "cmd /c start AcroRd32.exe \"" + dir + "\""; 

打开从Java中的PDF文件,但我得到一个错误,当该文件将作为

自动打开来打开PDF文件
"Windows cannot find 'acroRd32.exe'. Please make sure you typed the correct name." 

但是我可以在不使用命令行/ java的情况下手动打开它。

请帮我一把。

回答

4

我强烈建议你这样做,而不是this

java.io.File file = new java.io.File("c:/some/file.pdf"); 
java.awt.Desktop.open(file); 

如果您仍然想运行 “AcroRd32.exe”(或其他一些 “命令”)使用ProcessBuilder,像这样的东西 -

ProcessBuilder pb = new ProcessBuilder("AcroRd32.exe", dir); 
Process p = pb.start(); 
+0

那肯定是更好的方式来做到这一点,因为它打开了用户已安装的PDF,例如默认的应用程序。福昕阅读器。 –

0
START C:\temp\My_PDF_File.pdf use this command for opening from command line 

其他明智地使用类desktop

0

我不确定这是否真的有用,但它可以打开PDF文件。

String FileName="C:/name.pdf";//Write your complete path here 
try { 
     Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler " + FileName); 
    } catch (IOException ex) { 
      Logger.getLogger(ClassName.class.getName()).log(Level.SEVERE, null, ex); 
    } 
+0

如果这没有用,那么PLZ会提供评论,说明它为什么没用。谢谢! – Aarav

0
String cmds[] = new String[] {"cmd", "/c", "C:\\test.pdf"}; 
     Runtime.getRuntime().exec(cmds);