Java中流的概念

流的分类:

  

按流向:输入流,输出流

按数据单位:

  字节流(一次读入或读出是8位二进制,即一个字节)

  

  字符流(一次读入或读出是16位二进制,即一个字符)

  

按处理类型:

  节点流(直接与数据源相连,读入或读出)

  

  处理流(与节点流一块使用,在节点流的基础上,再套接一层,套接在节点流上的就是处理流)

  

对文件进行操作:

  FileInputStream:字节输入流

  FileOutputStream:字节输出流

  FileReader:字符输入流

  FileWriter:字符输出流

对管道进行操作:

  PipedInputStream、PipedOutputStream(主要用于线程操作)

  PipedReader、PipedWriter

字节/字符数组:

  ByteArrayInputStream、ByteArrayOutputStream(在内存中开辟了一个字节数组)

  CharArrayReader、CharArrayWriter(在内存中开辟了一个字符数组)

Buffer缓冲流(避免每次直接读取硬盘):

  BufferedInputStream、BufferedOutputStream

  BufferedReader、BufferedWriter

转化流:InputStreamReader、OutputStreamWriter

数据流:DataInputStream、DataOutputStream(数据流可以直接输出float类型或long类型,提高了数据读写的效率)

打印流:printStream,printWriter(一般是打印到控制台,可以进行控制打印的地方)

对象流:ObjectInputStream、ObjectOutputStream(把封装的对象直接输出,而不是一个个再转换成字符串再输出)

序列化流:SequenceInputStream(把对象直接转换成二进制,写入介质中)

原文链接:http://blog.csdn.net/llhhyy1989/article/details/7388059

原文地址:https://www.cnblogs.com/fqfanqi/p/6092811.html