通过这种方式发送数据,是从键盘输入的,如何在new InputStreamReader(这里用字符串传值) 这里传值呢
BufferedReader line = new BufferedReader(new InputStreamReader(System.in));

解决方案 »

  1.   

    请运行一下代码:StringReader sr = new StringReader("中国,你好");
    BufferedReader line = new BufferedReader(sr);
    String buffer = "";
    while((buffer = line.readLine() )  != null){
    System.out.println(buffer);
    }楼主很能思考。祝楼主成功。。
    请参看 Java.io 的 JDK,以下是一个框架图:
    http://gceclub.sun.com.cn/Java_Docs/jdk6/html/zh_CN/api/java/io/package-tree.html
      

  2.   

    InputStreamReader() 
    括号里边传的值,默认必须是输入流,
    所以直接传一个字符串对象是不行的。
    试着先装进StringReader里再传进去也不行,
    不过有个过时的StringBufferInputStream()
    或许还有其他好用的 .
    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.io.StringBufferInputStream;public class Test {
    public static void main(String []args) throws IOException{
    BufferedReader line = new BufferedReader(new InputStreamReader(System.in));
    String s2 =new String("Input a string:");

    BufferedReader line2 = new BufferedReader(new InputStreamReader(new StringBufferInputStream(s2)));
    System.out.println(line2.readLine());

    String s = line.readLine();
    while(!(s.equals("exit"))){ 
    System.out.println(s); 
    s = line.readLine();

    }
    }
      

  3.   

    如果是要把字符串转成流,那就用ByteArrayInputStream,先把string.getBytes,再转就是
      

  4.   

    BufferedReader line = new BufferedReader(
      new InputStreamReader(
        new ByteArrayInputStream(string.getBytes())
      )
    );