如题!

解决方案 »

  1.   

    我的解决办法如下:
    /*
     * 创建日期 2005-8-24
     * 在jvm内执行系统程序,截取输出信息
     * TODO 
     */
    package cn.tedeyang.util;import java.io.File;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.io.OutputStreamWriter;/**
     * @author yxg
     * 
     * TODO
     */
    public class Exec {
        public void run() {
            try {
                String[] arg = new String[] {
                        "c:\\jdk5\\bin\\java.exe",
                        "-cp",
                        "d:\\e168\\web-inf\\classes\\", //classpath
                        "cn.tedeyang.net.WebDoclet" };//main class 换成你的类
                Process child = Runtime.getRuntime().exec(arg);//exec()函数还有其他的重载形式
                InputStreamReader readOut = new InputStreamReader(child.getInputStream());
                File file = new File("d:\\run.log");//log file
                OutputStreamWriter log = new OutputStreamWriter(new FileOutputStream(file));            int c;
                while ((c = readOut.read()) != -1) {
                    System.out.print((char) c);
                    log.append((char) c);
                }
                readOut.close();
                log.close();
                
            } catch (IOException e) {
                System.err.println(e);
            }
        }
    }
      

  2.   

    改成 child.getErrorStream之类的试试
      

  3.   

    javac YourProg.java >>out.txt
    是这个意思吗?
      

  4.   

    同意zebra007(呼呼),是输出重定向,还是由程序来做。
      

  5.   

    zebra007(呼呼)说的不一定都成功,
    这个好像与jdk的版本有关,我的jdk1.5.0,
    用javac YourProg.java >>out.txt
    的话,out.txt是个空文档。
    不知是否是我的jdk问题??