Java基础I/O流总结

来源:互联网 发布:java 下载器 编辑:程序博客网 时间:2024/05/16 06:42

I/O流分类

按数据流向分为:输入流、输出流

按处理数据单位分为:字节流、字符流

按功能分为:节点流、 处理流


四种基本抽象流类型




字符流和字节流

字符流和字节流的主要区别:

      1.字节流读取的时候,读到一个字节就返回一个字节;  字符流使用了字节流读到一个或多个字节(中文对应的字节数是两个,在UTF-8码表中是3个字节)时。先去查指定的编码表,将查到的字符返回。

      2.字节流可以处理所有类型数据,如:图片,MP3,AVI视频文件,而字符流只能处理字符数据。只要是处理纯文本数据,就要优先考虑使用字符流,中文一定要用字符流,除此之外都用字节流。

节点流和处理流


处理流

缓冲流

BufferedInputStream

BufferedOutputStream

BufferedReader     提供了readline方法,一次读取一行

BufferedWriter


转换流

    用于字节数据到字符数据的转换,该流对象中可以对读取到的字节数据进行指定编码的编码转换。

InputStreamReader

OutputStreamWriter


数据流

该数据流可以方便地对一些基本类型数据进行直接的存储和读取,不需要再进一步进行转换,通常只要操作基本数据类型的数据,就需要通过DataStream进行包装。

DataInputStream

DataOutputStream


打印流

PrintStream

PrintWriter


对象流

该类型的流可以把类作为一个整体进行存取,被写入的对象必须实现一个接口:Serializable

ObjectInputStream

ObjectOutputStream



0 0