A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 苗超维 中级黑马   /  2016-1-15 23:03  /  305 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

     在io流中,字节流,字符流,输入流 ,输出流,条目众多,如何在这么多的类中,找到我们需要的对象,在这里我做了总结 :
     首先 要确定几个概念
     输入:将外设的数据读取到内存中。
     输出:将内存的数写入到外设中。
    流按操作数据又分为  字节流 和 字符流,字节流读取文字字节数据后 ,不直接操作而是先查看指定的编码表,获取相对性的文字,再对这个文字进行操作,简单说字节流+编码表。
     字节流的抽象基类:InputStream,OutputStream.
     字符流的抽象基类 :  Reader ,  Writer.
     1  明确操作中存在的数据源和数据的目的
              存在数据源 :  InputStream  Reader
              数据的目的 :  OutputStream  Writer
     2   明确数据是否是纯文本数据
              数据源 是纯本文:Reader
                          否:InputStream  
               数据目的   是纯文本 :Writer
                          否:OutputStream  
    3     明确具体的设备  
              数据源的设备:
                           硬盘:File
                           键盘: System.in
                           内存:数组
                           网络:Socket流
               数据目的的设备:
                          硬盘:File
                          键盘: System.out
                                                    内存:数组
                                                    网络:Socket流
   4        是否需要缓冲区
                    1 需要高效  加上  buffer  
例如:  将一个文本文件数据显示在控制台上。
             1       明确操作中存在的数据源和数据的目的
                                         存在数据源 :  InputStream  Reader
                                         数据的目的 :  OutputStream  Writer
            2     是否是纯文本
                          是, 源:Reader  目的 Writer
            3      明确具体的设备  
                       源 :硬盘  :File   目的:System.out
             FileReader fr=new     FileReader("a.txt");
             OutputStream  out  =  new OutputStreamWriter(   System.out )
              加上缓冲区  
          BufferedReader  bufr=new BufferedReader  (fr);
          BufferedWriter   bufw=new BufferedWriter   (out);



0 个回复

您需要登录后才可以回帖 登录 | 加入黑马