2015-04-23 103 views
0

我想打開一個exe文件,特別是IndriRunQuery.exe,它是提供Lemur Indri軟件包的工具之一。當我使用命令提示我寫以下命令:在java中執行程序

IndriRunQuery Queries.txt 

由此,包含在Queries.txt查詢的編輯工作(其如在上述命令中的參數傳遞)正在啓動。

隨後的時間下降量過去之後,我寫以保存在一個名爲RESULTS.TXT文件產生的結果如下:

IndriRunQuery Queries.txt >Results.txt 

我的問題是,每次我想要編輯包含查詢的文件 我需要執行相同的步驟。我有20個不同的查詢文件可以編輯。我想通過使用Java程序找到一種方法,但我無法弄清楚。

我已經使用了這些代碼行,但它根本不起作用。 任何人都可以幫我解決這個問題嗎?

ProcessBuilder builder = new ProcessBuilder("C:\\Program Files\\Indri\\Indri 5.8\\bin\\IndriRunQuery.exe", 
      "C:\\Users\\Πετρής\\Desktop\\TitlesRel.txt"); 
    builder.start(); 
    ProcessBuilder builder2 = new ProcessBuilder("C:\\Program Files\\Indri\\Indri 5.8\\bin\\IndriRunQuery.exe", 
      "C:\\Users\\Πετρής\\Desktop\\TitlesRel.txt",">C:\\Users\\Πετρής\\Desktop\\resultsexample3.txt"); 

    builder2.start(); 

回答

1

正確的語法如下:

// Create ProcessBuilder. 
ProcessBuilder p = new ProcessBuilder(); 
// Use command "notepad.exe" and open the file. 
p.command("notepad.exe", "C:\\file.txt"); 
p.start(); 

或者

Process p = Runtime.getRuntime().exec("cmd /c start " + file.getAbsolutePath());