package interview.process;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
public class ProcessUsual
{
public static void main(String[] args)
{
call("javac");
call("cmd.exe /C dir");
}
public static void call(String cmd)
{
Runtime rt = Runtime.getRuntime();
Process pro = null;
try
{
pro = rt.exec(cmd);
// =======在waitfor之前必须调用这两个方法======//
new StreamTool(pro.getInputStream()).start();
new StreamTool(pro.getErrorStream()).start();
// ===================================//
pro.waitFor();
}
catch (InterruptedException e)
{
e.printStackTrace();
}
catch (IOException e)
{
e.printStackTrace();
}
System.out.println(pro.exitValue());
}
private static class StreamTool extends Thread
{
BufferedReader br = null;
public StreamTool(InputStream is)
{
br = new BufferedReader(new InputStreamReader(is));
}
public void run()
{
String line = null;
try
{
while ((line = br.readLine()) != null)
{
System.out.println(line);
}
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
}