2014-01-23 5 views
1

Я пытаюсь открыть PDF файл из Java с помощью аргумента командной строки, какНевозможно открыть PDF-файл с помощью команды Java строку

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

Но я получаю сообщение об ошибке, если файл будет автоматически открыт

"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, который установлен пользователем, например. Foxit Reader. –

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); 
Смежные вопросы