簡體   English   中英

java執行linux命令

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM