首页 > 技术文章 > IO开篇

xiaomu0 2019-05-27 19:56 原文

                                                         IO开篇


          大多应用程序都需要实现与设备之间的数据传输,例如键盘输入数据,显示器可以显示程序的运行结果等。在Java中,将这 种通过不同输入输出设备(键盘、内存、显示器、网络等)之间的数据传输抽象表述为“流”,程序允许通过流的方式与输入输
出设备之间进行数据传输。Java中的“流”都位于Java.io包中,成为IO(输入输出)流。
          IO流有很多,按照操作数据的不同,可以分为字节流和字符流,按照数据传输方向的不同又可以分为输入流和输出流,程序从输入流中读取数据,想输出流中写入数据。
          在IO包中,字节流的输入输出流分别用Java.io.InputStream和java.io.OutputStream表示。字符流的输入输出流分别
  用Java.io.Reader和java.io.Writer表示,
         流分类:
             1.节点流:可以直接从数据源或目的地读写数据               数据源   --》 程序
             2.处理流(包装流):不直接连接到数据源或目的地,是其他流进行封装,目的主要是简化操作提高性能。 数据源  --|--|> 程序  
              节点流和处理流的关系:
                  1.1:节点流处于IO流的第一线,所有操作必须通过他们进行。
                  1.2:处理流可以对其他流进行处理(提高效率或操作灵活性)。
             4.字节流:按照字节读取数据(InputStream、OutputStream)


             5.字符流:按照字符读取数据(Reader、Writer),因为文件的编码不同,从而有了对字符进行高效操作的字符流对象。
                 原理:底层还是基于字节流操作,自动搜寻指定的码表。


 

推荐阅读