2012-04-03 273 views
3

我試圖從java代碼執行linux commant'cat',但它不起作用。java執行linux命令

Runtime.getRuntime().exec("cat /home/roman/logs/*"); 

而且它對於單個文件的貓運作良好

Runtime.getRuntime().exec("cat /home/roman/logs/mylog.log"); 

我的問題是如何上的貓從Java的一些目錄中的所有文件?

+0

可能的重複[想要從Java調用Linux shell命令](http://stackoverflow.com/questions/1410741/want-to-invoke-a-linux-shell-command-從-JAVA) – 2012-04-03 13:05:52

回答

4

你可以把所有文件的目錄下,進入一個收集和遍歷它:

File[] files = dir.listFiles(); 
for (File f : files) { 
    Runtime.getRuntime().exec("cat "+dir.getAbsolutePath()+File.separator+f.getName()); 
} 
3

您不能使用*exec()命令(您需要一個shell)。一個解決方案可能是編寫一個腳本,然後從你的Java應用程序中編寫腳本exec()