obr.(1); //做一个记号,说明从哪里开始读     
    while (obr.read()!=-1)
          {obr.reset(); //将指针指向0
           String   s =obr.readLine();
           int position =1;   //记录当前已经读到的位置,以便下次读
           message.append(s+"\n"); \\message 为先设好的一个文件区域.以显示错信息        
           position +=s.length();//记录当前已经读到的位置,以便下次读
           obr.(position) //记录当前已经读到的位置,以便下次读
           obr.reset(); // 将指针指向0,因为读取位置是相对于起始点的
           }

解决方案 »

  1.   

    我这个也相拟的实现了它的要求!import java.io.*;public class RuntimeCompile{ public static void main(String[] args){

    Runtime r = Runtime.getRuntime();
    Process p = null;
    String jtoc="javac"+" "+"F:\\my_bag\\vj_file\\RuntimeCompileTest.java"; try{
        p = r.exec(jtoc); // jtoc ="javac"+" "+某源文件名+".java"
                          //这里其实就是编译一个源文件     
    InputStream pi = p.getErrorStream();
        BufferedReader obr = new BufferedReader(new InputStreamReader(pi));
        String str="";
    StringBuffer text=new StringBuffer ();
    while((str=obr.readLine ())!=null)
    text.append (str+'\n');
    System.out.println (text.toString ());
       }
       catch(Exception e) {}
    try{
    System.in.read ();
    }
    catch(Exception e) {}
    }
    }