执行linux命令的java

我试图从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来执行该命令。 因此通配符不被扩展。 尝试在想要从java调用linux shell命令中解释的解决方案