2012-04-03 241 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()