java执行CMD后有些结果无法获取

2025-12-16 20:09:36
推荐回答(2个)
回答1:

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.SequenceInputStream;

public class Processing
{
public static void main ( String[] args )
{
try
{
Process process = Runtime.getRuntime ().exec ("cmd");
SequenceInputStream sis = new SequenceInputStream (process.getInputStream (), process.getErrorStream ());
InputStreamReader isr = new InputStreamReader (sis, "gbk");
BufferedReader br = new BufferedReader (isr);
// next command
OutputStreamWriter osw = new OutputStreamWriter (process.getOutputStream ());
BufferedWriter bw = new BufferedWriter (osw);
bw.write ("cd i:\\2013313workspace\\baidu\\build\\classes");
bw.newLine ();
bw.write ("i:");
bw.newLine ();
bw.write ("java zhidao.TestYangHui");
bw.newLine ();
bw.flush ();
bw.close ();
osw.close ();
// read
String line = null;
while (null != ( line = br.readLine () ))
{
System.out.println (line);
}
process.destroy ();
br.close ();
isr.close ();
}
catch (IOException e)
{
e.printStackTrace ();
}
}
}

回答2:

在catch中加上下面的代码
e.printStackTrace();
再试一下。