JAVA IO流几个实用流对象

JAVA IO流几个实用流对象

这段时间相继看到几个当初java基础掌握不太熟悉的io类,所以专门找资料复习了一下这几个类。

它们是:

RandomAccessFile // 随机读写流
DataInputStream DataOutputStream // 数据读取/写入流
ByteArrayInputStream BateArrayOutputStream // 字节数组读取/写入流
CharArrayReader CharArrayWriter // 字符数组读取/写入流
StringReader StringWriter // 字符串读取/写入流

RandomAccessFile: 随机读写流

  • 该类不存在于IO体系中,而是直接继承自Object
  • 但此类存在于IO包中,因为它具备读和写的功能
  • 内部封装了一个数组,通过指针对数组的元素进行操作
  • 可以通过getFilePointer获取指针位置
  • 可以通过seek改变指针位置
  • 操作文件可以指定模式 r/w/rw
  • 可以直接写入到硬盘,不经过硬盘的缓存
  • 如果模式为只读 r。不会创建文件。会去读取一个已存在文件,如果该文件不存在,则会出现异常。
  • 如果模式rw。操作的文件不存在,会自动创建。如果存则不会覆盖。
  • 多线程下载时,可以用此类来完成分段写入

DataInputStream DataOutputStream 数据读取/写入流

  • 可以对基本数据类型进行读和写的操作
  • 常用方法有: readInt/writeInt readBoolean/writeBoolean等
    //read demo
    private static void readData() throws IOException {
        DataInputStream dis = new DataInputStream(new FileInputStream(file));
        System.out.println(dis.readInt());
        System.out.println(dis.readBoolean());
        System.out.println(dis.readDouble());
    }
    //write demo
    private static void writeData() throws IOException {

        DataOutputStream dos = new DataOutputStream(new FileOutputStream(file));
        dos.writeInt(256);
        dos.writeBoolean(false);
        dos.writeDouble(3.1415926);
    }

数组写入/读取流

ByteArrayInputStream BateArrayOutputStream 字节数组读取/写入流`

CharArrayReader CharArrayWriter 字符数组读取/写入流

StringReader StringWriter 字符串读取/写入流

  • 对内存进行写入和读取操作的流对象
  • 用流的读写思想来操作数组(数据)。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值