【发布时间】:2011-09-28 08:27:13
【问题描述】:
我正在做一些需要我开始子进程(命令提示符)并在其上执行一些命令的事情。我需要从子进程中获取输出并将其存储在文件或字符串中。 这是我到目前为止所做的,但它不起作用:
public static void main(String args[])
{
try
{
Runtime RT = Runtime.getRuntime();
String command = "cmd /c start javap java.lang.String";
File file = new File("write.txt");
Writer output = new BufferedWriter(new FileWriter(file));
BufferedReader br = new(BufferedReader(newInputStreamReader(RT.exec(command).getInputStream()));
String temp = br.readLine();
while(!temp.equals(null))
{
output.write(temp);
temp = br.readLine();
}
output.close();
RT.exec("exit");
}
catch(Exception e)
{
System.out.println(e);
}
}
【问题讨论】:
-
不起作用是什么?有什么错误?你期待什么?更详细
-
就像我想要的那样,当新的命令提示符打开并执行 javap java.lang.String 时,它应该存储在 write.txt 中。但我得到的只是一个空白的 write.txt。
标签: java subprocess runtime.exec