2012-08-03 15 views
0

我想要一個來自指定目錄的.tar.gz文件列表。爲此,我正在使用Java中的getRuntime.exec()運行「ls directory_path/*.tar.gz」。但它沒有給出任何輸出,而是它說No such file or directory .. 但是命令提示符上運行相同的命令.. 我在unix中運行java。 在此先感謝java中的getRuntime.exec()是否理解*?

回答

1

這是因爲exec不會啓動一個shell來運行您的程序。它只是開始一個過程。在類Unix系統上,shell負責將通配符擴展爲文件列表。所以你需要通過shell運行ls以獲得所需的行爲。

但是,您爲什麼要使用lsThis answer顯示如何使用Java獲取文件列表。

+0

ok thanks.can you plz解釋一些更詳細的內容以及如何執行ls directorypath/* .tar.gz? – akhila 2012-08-03 05:51:57

+0

好的。我想用java運行許多unix命令。如何使用java運行unix命令? – akhila 2012-08-03 05:57:18

+0

就像運行其他程序一樣運行它們?你已經用'ls'完成了,你知道嗎? – Joey 2012-08-03 07:20:13

0

您將能夠使用火的exec()不是命令PROMT過程..

2.更好地利用list()把所有的文件的名稱在目錄中,然後用FileFilter獲取.tar.gz文件。