public class MyInputStreamReader { public static void main ( String [] args )
{
InputStreamReader isr = new InputStreamReader (System.in);  //创建一个输入流
BufferedReader br = new BufferedReader (isr);   // 用Buff来读取输入流的字节(InputStreamReader)流

String s = null ;  //用来保存输入的东西

try 
{
 s =  br.readLine();  //读取输入的东西 然后输出到屏幕上
}
catch (IOException e)
{
e.printStackTrace();
}

while ( s != null )  
{
if ( s.equals("退出"))
{
break;
}
else 
{
System.out.println(s);
try
{
s = br.readLine();

catch (IOException e) 
{
e.printStackTrace();
}
}
}

}
}
各位 我上面那些注释理解的是否正确呢??????

解决方案 »

  1.   

    InputStreamReader isr = new InputStreamReader (System.in);  //创建一个从控制台获取输入的输入流
    s =     br.readLine();  //读取输入的一行字符,只是读,输出是在后面System.out.println(s);处
      

  2.   

    BufferedReader br = new BufferedReader (isr);   // 用Buff来读取输入流的字节(InputStreamReader)流
    这里有一个问题要注意,BufferReader读取得是字符流而不是字节流
      

  3.   

    s = br.readLine(); //读取输入的一行字符,只是读,输出是在后面System.out.println(s);恩 是我理解错了 readLine 我看名字是读取一行 那我弱弱的问下 如果 我不用System.out,println来输出  比如 return s ;这样 是否可以呢?? 
      

  4.   

    public class MyInputStreamReader {    public static void main ( String [] args )
        {
            InputStreamReader isr = new InputStreamReader (System.in);  //创建一个输入流,通过键盘输入
            BufferedReader br = new BufferedReader (isr);   // 把从键盘读取的输入流缓存到br缓存流中
            
            String s = null ;  //声明一个对象名为s的字符串
            
            try 
            {
             s =     br.readLine();  //整行读取br缓存流付值到字符串s中
            }
            catch (IOException e)
            {
                e.printStackTrace();
            }
            
                while ( s != null )  
                {
                    if ( s.equals("退出"))
                    {
                        break;
                    }
                    else 
                    {
                        System.out.println(s);
                        try
                        {
                            s = br.readLine();
                        } 
                        catch (IOException e) 
                        {
                            e.printStackTrace();
                        }
                    }
                }
            
        }
    }
      

  5.   

    io流主要有字节流、字符流、文件流等
    分别继承于InputStream, OutputStream
    具体的查看API!
      

  6.   

    字节流是数据存在计算机中,针对存储和传输的。      文件流和系统的流 只是流的来源不通而已,本质一样。     字符已经涉及表达了,也就是设计业务了,脱离了单纯的存储和传输。socket是传输的管道。
    javaeye上有一篇不错的总结贴写的不错,可以去看看。
      

  7.   

    io流就是文件输入、输出流。分为两种一个是字符流,一个是字节流。字符流主要用来读入、输出文件(以字符的形式)一次可以读取很大的数据;字节流主要是以二进制的方式读入、输出文件,相对于字符流一次读取的数据较小。你最好去看一下API文档最清楚了。
      

  8.   

    to:wgx13145188汗!不要误人子弟啊!流是针对传输和存储的,序列化是流产生的手段。字符集是把流转化为我们可识别的东西的标准。编码解码都是围绕编码标准。io流并不是只有文件流。直接通信的管道并不是文件流(例如键盘、鼠标、socket)。一次可以读取很大的数据 跟字节流的思想扯不上关系。只跟缓存有关,看你处理流时缓存的大小而已。不清楚你是否看的buffered的API。