Java学习笔记(7)--IO总结

Java学习笔记(7)–IO总结

本篇文章是我在学习JavaIO时的大体总结,不是很详细的操作教程!
使用JavaIO时操作的步骤有四步

1. 创建源/选择目的地
2. 选择合适的流
3. 进行操作
4. 关闭流

所有的IO操作几乎都是这四个步骤,万变不离齐宗,注意向文件中写入时要不断地刷新,调用flush()方法。

Java.io包内的所有类
在这里插入图片描述

下面是大部分常用类的说明和简单的使用方法。更详细的内容可以去看Java官方api

  • InputStream&OutputStream 是所有字节输入流的父类,是一个抽象类

    • FileInputStream&FileOutputStream 文件流,可以以字节流方式读取和输出文件
    • ByteArrayInputStream&ByteArrayOutputStream 字节数组流,主要用途是将非文本文件转化为字节数组,存取的源点和目的地都是内存,所以不需要关闭,GC会自动回收。输入时需要源,也就是某一个字节数组;输出不需要目的地,会直接输出到内存中,可以使用toByteArray() 或toString() 方法返回所保存的数据。toByteArray和toString是新方法,所以尽量不要在使用此类时使用多态
    • ObjectInputStream &ObjectOutputStream 可以将对象序列化(持久化)存储在文件或内存中的类和读取并还原序列化的对象,用法与DataInputStream类似,如果一个对象想要序列化,则它必须实现java.io.Serializable接口,transient可以控制一个类中的元素是否需要序列化
    • FilterInputStream&FilterOutputStream
      • BufferedInputStream& BufferedOutputStream 为字节流加缓冲,可以显著提高传输效率,这个类中没有新方法,所以不需要改变使用方法。
      • DataInputStream&DataOutputStream 数据输入/输出流允许应用程序以独立于机器的方式从底层输入流读取原始Java数据类型或从底层输出流写入原始Java数据类型,就是读出来就是某一种基本数据类型,不需要转换。有很多新方法,不要使用多态。使用时应注意顺序
      • PrintStream 打印流,可以向某一位置打印内容,可以打印到文件,也可以是控制台。System.out就是一个打印流
  • Reader&Writer 字符流,按字符读取文件,只能读取纯文本文件

    • BufferedReader&BufferedWriter 加缓冲,因为这个类里面有newLine()这个新方法,所以尽量不要使用多态
    • InputStreamReader &OutputStreamWriter 字节流转换为字符流的类:向构造方法中传入一个字节流,并可以使用指定的charset将其编码或解码 。 它使用的字符集可以由名称指定,也可以被明确指定,或者可以接受平台的默认字符集。
      • FileReader&FileWriter 直接读取字符流的类
  • Writer

    • PrintWriter 与PrintStream 十分类似,只不过是按字符流传输的
  • RandomAccessFile 可以从文件的任意位置开始读取文件

Commons io这个组件十分重要,上文提到的所有功能都在这个jar包里被封装起来了,用起来十分方便,了解了底层原理之后就可以使用这个工具了。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值