2014-01-23 41 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);