class dosome implements Runnable { 
    public void run() { 
       System.out.println("我是子线程!");
       ??? out.write("Java"+"\n"); //这里怎样利用子线程将”java“字符串输出到文件
        
    } 
}
public class q { 
    public static void main(String[] args) { 
      System.out.println("我是主线程!");
      try{
         BufferedWriter out=new BufferedWriter(new FileWriter(args[0]));
         out.write("Hello");         //利用主线程将“hello”字符串输出到文件
         out.close();
          }
      catch(Exception e)
 {
    System.out.println("Error");
    e.printStackTrace();
 }
         dosome ds1 = new dosome(); 
         Thread t1 = new Thread(ds1); 
         t1.start(); 
       
    } 
}

解决方案 »

  1.   

    dosome ds1 = new dosome("传参啊,这里"); LZ是不是想这样?
      

  2.   

    我的目的是想在子线程中用到主线程中的out变量。谢谢各位指教。
      

  3.   

    class dosome implements Runnable { BufferedWriter o = null; dosome(BufferedWriter out) {
    this.o = out;
    } public void run() {
    System.out.println("我是子线程!");
    try {
    o.write("Java" + "\n");
    } catch (IOException e) {
    e.printStackTrace();
    }
    }
    }public class T1{ public static void main(String[] args) {
    System.out.println("我是主线程!");
    BufferedWriter out = null;
    try {
    out = new BufferedWriter(new FileWriter(args[0]));
    out.write("Hello"); dosome ds1 = new dosome(out);
    Thread t1 = new Thread(ds1);
    t1.start();
    t1.join(); out.close();
    } catch (Exception e) {
    System.out.println("Error");
    e.printStackTrace();
    } }
    }