各位兄弟.
怎么读取 另一个class的 输入/输出流?

解决方案 »

  1.   

     Thread.currentThread().getContextClassLoader().getResourceAsStream("文件名");(该文件名得在classpath路径下)或A.class.getResourceAsStream(name)
      

  2.   

    我开始也是这么用的,但好像不行啊。 
        我把代码贴出来, 帮我看下吧.
    aa中就System.out.println("aa");
    bb代码:
                    import java.io.BufferedReader;
    import java.io.File;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.lang.reflect.Method;public class b {
    public static void main(String[] args) throws Exception {
    b bb = new b();
    bb.go(args);
    } void go(String[] args)throws Exception {
    Class cls[] = { String[].class };
    Object os[] = { args };
    aa a = new aa();
    Method m = aa.class.getMethod("main", cls);
    Object obj = m.invoke(a, os);
    System.out.println("aname="+aa.class.getName());
    InputStream in=Thread.currentThread().getContextClassLoader().getResourceAsStream("aa");
    //InputStream in=aa.class.getResourceAsStream("aa");
    //InputStream in=a.getClass().getClassLoader().getResourceAsStream(a.getClass().getName());
    if(in==null)System.out.println("空");
    else{
    BufferedReader br = new BufferedReader(new InputStreamReader(in));
    while(br.ready()){
    System.out.println(br.readLine());
    }
    }
    System.out.println(obj);
    }
    }
      

  3.   

    import java.util.Scanner;public class IoTest{
     public static void main(String [] args){ System.out.println("请输入任意整数");
     Scanner sc=new Scanner(System.in);
     int num=sc.nextInt();    System.out.println("请输入任意字符");
        //sc=new Scanner(System.in);
     String str=sc.next();
     }
     
     }