Java基础学习笔记之八--IO流(1)

***java 流式 输入/输出
  在Java程序中,对于数据的输入/输出提供了流的方式。
jdk中定义了各种各样的流,用来获取不同类型的数据。  
***流的分类
  1.按照数据的方向可以分为输入流和输出流
  2.按照处理数据的单位,分为字节流和字符流

  3.按照功能的不同,是否直接操作数据,可以分为节点流和处理流(包装流)

***分类一(数据的方向)
  输入流:InputStream/Reader --站在程序的角度上看
  输出流:OutputStream/Writer--站在程序的角度上看
***分类二(数据处理单位)  
  字节流:InputStream/OutputStream
  字符流:Reader/Writer  
  1个字符2个字节,1个字节8bit(10101010)
***分类三(是否直接操作)  
一.具体的节点流
1.File(文件)  
  FileInputStream/FileOutputStream
  FileReader/FileWriter
  
2.Memory 内存流
  ByteArrayInputStream/ByteArrayOutputStream  
  CharArrayReader/CharArrayWriter
  StringReader/StringWriter
  
3.Pipe(管道)
  PipedInputStream/PipedOutputStream
  PipedReader/PipedWriter  
  (这两个类主要用来完成线程之间的通信.
  一个线程的PipedInputStream对象能够从另外一个线程的PipedOutputStream对象中读取数据.)  
  备注:
  3.1 PipedInputStream类与PipedOutputStream类用于在应用程序中创建管道通信.
  3.2 一个PipedInputStream实例对象必须和一个PipedOutputStream实例对象进行连接产生一个通信管道.
PipedOutputStream可以向管道中写入数据,PipedIntputStream可以读取PipedOutputStream向管道中写入的数据.
  3.3 通过PipedOutputStream 的connect方法可以连接PipedInputStream
    
二.具体的包装流
1.缓冲流--显著的减少系统对IO的读写次数
    BufferedInputStrem/BufferdOutputStream
BufferdReader/BufferdWriter
备注:
  BufferdReader readLine();每次读入一行数据  
  BufferdWriter write(String str);直接输出一个字符串
  BufferWriter newLine();输出一个换行符
  这两个方法很好使  
2.数据流 DataInputStream/DataOutputStream
3.对象流 ObjectInputStream/ObjectOutputStream
4.打印流 PrintStream/PrintWriter  


参考文章:

  1.http://blog.csdn.net/llhhyy1989/article/details/7388059

  2.http://www.cnblogs.com/oubo/archive/2012/01/06/2394638.html

你可能感兴趣的:(Java基础学习笔记之八--IO流(1))