IO流的概念与使用

1. 字节流

InputStream 字节读取流父类,抽象类

    FileInputStream

        int read() 每次读取一个字节,返回值为读取内容的ASCII码,如果读取到末尾返回                  值为-1

        int read(byte[]  data)每次读取一个byte数组,返回值为读取内容的个数

        void close() 关闭资源

        int available() 获取当前字节流可读字节数

OutputStream 字节写入流父类,抽象类

    FileOutputStream

    FileOutputStream(String fileName) 如果文件不存在 会自动创建

    FileoutputStream(String fileName,boolean append)append表示追加,默认false表示              覆盖文件

        write(int  data)每次写入一个字节

        write(byte[ ]  data)每次写入一个字节数组,可以写入中文

        close()关闭资源

2. 字符流

Reader

InputSreamReader(转换流、桥接流)

    read()每次读取一个字符,返回值为ASCII码,或Unicode 编码,十进制

    int read(char[ ]  data),每次读取一个char数组,返回值为读取的个数,读取的内容在        数组中

    close()关闭资源

    FileReader 属于InputSreamReader的子类,只能按照本地平台默认的编码格式读取文件

        read()每次读取一个字符

        read(char[ ]  data)每次读取一个字符数组

    BufferedReader(缓冲流)是带有缓冲区的字符读取流,因为有缓冲区,可以减少与内存IO      的次数,提高读取文件的效率

        readLine()每次读取一行

Writer

    OutputStreamWriter(装换流)

        write(String str):写入字符串

        OutputStreamWriter(output Stream,"GBK")可以指定写入文件的编码格式

        FileWriter属于OutputStreamWriterd的子类,只能按照本地平台默认的编码格式写入文          件

        write(String str):写入字符串

    BufferWriter(缓冲流)带有缓冲区的字符写入流,可以提高写入文件的效率

        newLine()换行

        flush()带有缓冲的字符流 ,必须刷新,或者关闭资源

5. 数据流

DataInputStream 负责读取二进制文件

    read(byte[ ]  data)读取文件保存在数组中

DataOutputStream 负责写入二进制文件

    write(byte[ ]  data)写入数组中的数据

6. 对象流

序列化:将对象以流的形式保存在二进制文件中

反序列化:将保存有对象的二进制文件,读取为对象、

 

Serializable接口是一个空接口,所以不需要重写任何方法

此接口存在的意义,相当于给可以被序列化的类添加了一个标记,只有这个接口的实现类才可以被序列化

此接口的实现类 在编译以后 JVM会自动添加一个序列化ID来确保每一个类的唯一性

 

包名  类名  JD版本等信息

    ObjectInputStream 负责读取对象

        readObject() 读取对象

    ObjectOutputStream 负责写入对象

        writeObject() 写入对象

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值