为什么我不能在Java运行时中使用日志文件
作者:互联网
我有(用Java)
rt.exec("qq.exe -i ..(some other parameters) > qq.log");//*1
当我运行qq.exe -i ..(其他一些参数)时终端中的qq.log可以正常工作并正确保存qq.log文件.
但是,使用rt.exec(* 1)不起作用. “> qq.log”部分导致问题.当我删除该部分时,rt.exec(* 1)可以工作,但这次我无法拥有qq.log文件.
是什么导致此问题,并且有解决方案吗?
解决方法:
rt.exec()无法执行sh / bat代码.它只是在调用另一个程序.当您尝试使用>重定向qq.exe的输出流时.符号,专门针对shell,java不了解该怎么做.
一种替代方法是,当您使用exec方法执行某些程序时,获取rt.exec()返回的Process
.Process
可以为您提供到应用程序的OutputStream,来自应用程序的InputStream甚至是已启动应用程序的ErrorStream.
使用InputStream,您可以以编程方式读取qq.exe的结果,而您要做的就是将其写入文件中.
标签:runtime-exec,exec,runtime,java 来源: https://codeday.me/bug/20191209/2097080.html