首页 技术 正文
技术 2022年11月11日
0 收藏 304 点赞 3,987 浏览 2141 个字

一  IO流的继承结构如下

二  字节流

1.InputStream(字节流读取数据),为抽象类,不可创建对象;其具体实现需要通过子类FileInputStream(读取文件数据)、BufferedInputStream(缓冲区读取文件数据)、ObjectInputStream(反序列化)来实现

  • 常用方法:

    int read() 从输入流中读取数据的下一个字节
    read(byte[] b) 从输入流中读取一定数量的字节,并将其存储在缓冲区数组 b 中
    read(byte[] b, int off, int len) 将输入流中最多 len 个数据字节读入 byte 数组,off表示存时的偏移量
    close() 关闭此输入流并释放与该流关联的所有系统资源

  • FileInputStream(读取文件数据)

    直接插在文件上,直接读取文件数据;

    构造方法:FileInputStream(File file)—其参数为File类型的变量,即FileInputStream(File file) == FileInputStream(String pathname) 

  • BufferedInputStream(缓冲区读取文件数据)

    先通过缓冲区缓存(在创建 BufferedInputStream 时,会创建一个内部缓冲区数组,默认8k大小),然后按批次读取缓冲区的数据,这样减少了读取次数,可提高效率

    构造方法:BufferedInputStream(InputStream in)—其参数为父类类型的变量,由于父类InputStream为抽象类,需要用其子类来实例化对象,

            即BufferedInputStream(InputStream in) == BufferedInputStream(new FileInputStream(File file) == BufferedInputStream(new FileInputStream(String pathname))

  • ObjectInputStream(反序列化)

    ObjectInputStream对以前使用ObjectOutputStream写入的基本数据和对象进行反序列化重构对象

    构造方法:ObjectInputStream(InputStream in) —创建从指定 InputStream 读取的 ObjectInputStream

    普通方法:readObject(),从 ObjectInputStream 读取对象

2. OutputStream(字节流写出数据),为抽象类,不可创建对象;其具体实现需要通过子类FileOutputStream(写出数据)、BufferedOutputStream(缓冲区写出文件数据)、ObjectOutputStream(序列化)来实现

  • 常用方法:   

    close() 关闭此输出流并释放与此流相关的所有系统资源
    flush() 刷新此输出流并强制写出所有缓冲的输出字节
    write(byte[ ] b,int off ,int len) 将指定byte数组中从偏移量off开始的len个字节写入输出流
    write(int b) 将指定的字节写入此输出流

  • FileOutputStream(读取文件数据)

    直接插在文件上,直接写出文件数据;

    构造方法:FileOutputStream(File file)—其参数为File类型的变量,即FileOutputStream(File file) == FileOutputStream(String pathname) 

  • BufferedOutputStream(缓冲区写出文件数据)

    先通过缓冲区缓存(在创建 BufferedInputStream 时,会创建一个内部缓冲区数组,默认8k大小),然后按批次读取缓冲区的数据,这样减少了读取次数,可提高效率

    构造方法:BufferedOutputStream(InputStream in)—其参数为父类类型的变量,由于父类OutputStream为抽象类,需要用其子类来实例化对象,

            即BufferedOutputStream(OutputStream in) == BufferedOutputStream(new FileOutputStream(File file) == BufferedOutputStream(new FileOutputStream(String pathname))

  • ObjectOutputStream(序列化)

    ObjectOutputStream 将 Java 对象的基本数据类型写入 OutputStream,通过在流中使用文件可以实现对象的持久存储。如果流是网络套接字流,则可以在另一台主机上或另一个进程中重构对象。

    构造方法:ObjectOutputStream(OutputStream out)—创建写入指定 OutputStream 的 ObjectOutputStream

    普通方法:writeObject(Object obj),将指定的对象写入 ObjectOutputStream

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:8,954
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,479
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,291
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,108
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,740
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,774