我試圖從java代碼執行linux commant'cat',但它不起作用。java執行linux命令
Runtime.getRuntime().exec("cat /home/roman/logs/*");
而且它對於單個文件的貓運作良好
Runtime.getRuntime().exec("cat /home/roman/logs/mylog.log");
我的問題是如何上的貓從Java的一些目錄中的所有文件?
我試圖從java代碼執行linux commant'cat',但它不起作用。java執行linux命令
Runtime.getRuntime().exec("cat /home/roman/logs/*");
而且它對於單個文件的貓運作良好
Runtime.getRuntime().exec("cat /home/roman/logs/mylog.log");
我的問題是如何上的貓從Java的一些目錄中的所有文件?
你可以把所有文件的目錄下,進入一個收集和遍歷它:
File[] files = dir.listFiles();
for (File f : files) {
Runtime.getRuntime().exec("cat "+dir.getAbsolutePath()+File.separator+f.getName());
}
您不能使用*
與exec()
命令(您需要一個shell)。一個解決方案可能是編寫一個腳本,然後從你的Java應用程序中編寫腳本exec()
。
Runtim.exec()不使用shell執行命令。因此通配符不會擴展。嘗試在Want to invoke a linux shell command from java中解釋的解決方案
可能的重複[想要從Java調用Linux shell命令](http://stackoverflow.com/questions/1410741/want-to-invoke-a-linux-shell-command-從-JAVA) – 2012-04-03 13:05:52