[英]java executing linux command
我試圖從java代碼執行linux commant'cat',但它不起作用。
Runtime.getRuntime().exec("cat /home/roman/logs/*");
它適用於單個文件的貓
Runtime.getRuntime().exec("cat /home/roman/logs/mylog.log");
我的問題是如何從java中捕獲某些目錄上的所有文件?
您可以將dir下的所有文件放入集合中並迭代它:
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中解釋的解決方案從java調用linux shell命令
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.