我试图从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