2015-02-05 70 views
1

Hy。Java - 如何讀取7z的輸出?

我已經創建了一個例程,用於讀取目錄中的.tgz文件並解壓縮每個文件。我使用

Process zip01 = Runtime.getRuntime().exec("LINE OF COMMAND"); 

exitVal = zip01.waitFor(); 

I,M使用7z.exe從文件夾中解壓縮和壓縮文件。命令行工作正常。現在,我該如何讀取解壓縮的百分比並將其放入textfield或textarea中。圖形部分也可以,所有的例程都很好。唯一的困難是獲得7z的實時比例。有什麼方法可以閱讀並顯示它?

謝謝!

+0

我不熟悉7zip的的CLI的功能,但如果通過標準輸出提供了這一點,你絕對可以拿到。 '的BufferedReader stdInput =新的BufferedReader(新的InputStreamReader(zip01.getInputStream()));' '的BufferedReader stdError =新的BufferedReader(新的InputStreamReader (zip01.getErrorStream()));' – 2015-02-05 14:00:03

回答

0

你可以得到你的流程的輸出是這樣的:

Process zip01 = Runtime.getRuntime().exec("LINE OF COMMAND"); 

BufferedReader output = new BufferedReader(new InputStreamReader(zip01.getInputStream())); 
String line; 
while ((line = output.readLine()) != null) { 

    /* process lines */ 
} 
+0

對不起,羅伯特,但是這不是我所需要的。我需要一個實時的壓縮過程百分比。此解決方案適用於另一個問題,但其解決方案僅顯示此問題的最後過程。 – 2015-02-06 15:36:03

+0

因此,您正在尋找某人爲您填寫「流程線」位? – robert 2015-02-06 16:10:22