IO流

2018-06-11  本文已影响0人  紫雨杰

一、IO流的概述:

● IO流用来处理设备之间的数据传输
              -----上传文件和下载文件

● Java对数据的操作是通过流的方式

● Java用于操作流的对象都在IO包中

二、IO流的分类:

  ----  流向
                  输入流       读取数据
                  输出流       写出数据
  ----  数据类型
                   字节流
                                  字节输入流         读取数据         InputStream
                                  字节输出流         写出数据         OutputStream
                   字符流
                                  字符输入流         读取数据         Reader
                                  字符输出流         写出数据         Writer

● 注:由这四个类派生出来的子类名称都是以其父类名作为子类名的后缀。
      如:InputStream的子类FileInputStream。
          OutputStream的子类FileOutputStream。

      如:Reader的子类FileReader。
          Writer的子类FileWriter。

三、字节缓冲流:

字节缓冲输出流
        BufferedOutputStream
字节缓冲输入流
        BufferedInputStream

四、字符缓冲流:

BufferedWriter:字符缓冲输出流
BufferedReader:字符缓冲输入流

1、字符缓冲流特殊功能:复制文本文件
    BufferedWriter :   void newLine()
    BufferedReader :   String readLine()

五、转换流(把字节流转换为字符流):

● OutputStreamWriter 字符输出流
    public OutputStreamWriter(OutputStream out)
    public OutputStreamWriter(OutputStream out,String charsetName):按指定的编码格式进行转换

● InputStreamReader 字符输入流
    public InputStreamReader(InputStream in)
    public InputStreamReader(InputStream in,String charsetName):按指定的编码格式进行转换

● 转换流的名字比较长,而我们常见的操作都是按照本地默认编码实现的,所以,为了简化我们的书写,转换流提供了对应的子类。
    FileWriter
    FileReader

六、随机访问流RandomAccessFile:

● RandomAccessFile类不属于流,是Object类的子类。但它融合了InputStream和OutputStream的功能。

● 支持对随机访问文件的读取和写入。

七、序列化流:

● 序列化流 :   ObjectOutputStream
● 反序列化流:  ObjectInputStream

 (1)、对象序列化是将对象状态转换为可保持或传输的过程。一般的格式是与平台无关的二进制流,可以将这种二进制流持久保存在磁盘上,
      也可以通过网络将这种二进制流传输到另一个网络结点。
 (2)、对象反序列化,是指把这种二进制流数据还原成对象。
上一篇 下一篇

猜你喜欢

热点阅读