Java 程序中如何执行其他的程序?使用了 exec() 之後, 要如何才能使用 I/O redirection?
以Unix 为例, DOS 或 Window 系统相似:
import java.io.*;
import java.util.*;
class IoRedirect {
public static void main(String Argv[])
{
try
{
String[] command = {"/bin/sh", "-c", "/bin/ls > out.dat"};
Process p = Runtime.getRuntime().exec(command);
p.waitFor();
System.out.println("return code: " + p.exitValue());
}
catch (IOException e)
{
System.err.println("IO error: " + e);
}
catch (InterruptedException e1)
{
System.err.println("Exception: " + e1.getMessage());
}
}
}