我用java 调用批处理。。无论有错无错打开的命令行都是一闪而过。。请问要查看批处理运行时候发生的错误怎样查看???
我要扑捉java运行bat时候命令行的出错信息而不是java运行bat产生的错误

解决方案 »

  1.   

    保存输出信息即可abc.cmd >> c:\abc.log
      

  2.   

    批处理输出用重定向>>就可以了贴一个 从进程得到错误流和输出流的import java.io.*;
    public class JavaCammandTest {
    public static void main(String [] args) throws IOException{
    FileWriter fwErr = new FileWriter(new File("C:\\err.txt"));
    BufferedWriter bwErr = new BufferedWriter(fwErr);
    FileWriter fwOut = new FileWriter(new File("C:\\Out.txt"));
    BufferedWriter bwOut = new BufferedWriter(fwOut);

    Process pro = Runtime.getRuntime().exec("C:\\test.bat");
    InputStreamReader isrErr = new InputStreamReader(pro.getErrorStream());
    BufferedReader brErr = new BufferedReader(isrErr);

    String s;
    while((s = brErr.readLine()) != null){
    bwErr.write(s);
    bwErr.newLine();
    }
    brErr.close();
    bwErr.close();

    InputStreamReader isrIn = new InputStreamReader(pro.getInputStream());
    BufferedReader brIn = new BufferedReader(isrIn);

    while((s = brIn.readLine()) != null){
    bwOut.write(s);
    bwOut.newLine();
    }
    brIn.close();
    bwOut.close();

    pro.destroy(); }
    }