java执行linux命令
我试图从java代码中执行linux commant'cat',但它不起作用java执行linux命令,java,linux,bash,cat,Java,Linux,Bash,Cat,我试图从java代码中执行linux commant'cat',但它不起作用 Runtime.getRuntime().exec("cat /home/roman/logs/*"); 并且它在单文件cat中运行良好 Runtime.getRuntime().exec("cat /home/roman/logs/mylog.log"); 我的问题是如何从java中对某个目录上的所有文件进行cat?您不能将*与exec()命令一起使用(您需要一个shell)。解决方案可以是编写一个脚本,然后
Runtime.getRuntime().exec("cat /home/roman/logs/*");
并且它在单文件cat中运行良好
Runtime.getRuntime().exec("cat /home/roman/logs/mylog.log");
我的问题是如何从java中对某个目录上的所有文件进行cat?您不能将
*
与exec()
命令一起使用(您需要一个shell)。解决方案可以是编写一个脚本,然后从java应用程序中exec()
该脚本。您可以将目录下的所有文件放入一个集合中,并对其进行迭代:
File[] files = dir.listFiles();
for (File f : files) {
Runtime.getRuntime().exec("cat "+dir.getAbsolutePath()+File.separator+f.getName());
}
Runtim.exec()不使用shell来执行命令。因此,通配符不会展开。尝试中解释的解决方案