0
点赞
收藏
分享

微信扫一扫

Java--IO流.基础

产品喵dandan米娜 2022-04-04 阅读 43
java

概念:内存与存储设备之间传输数据的通道

按流向分类
输入流:将 存储设备 中的数据读入 内存
输出流:将 内存 中的内容写入到 存储设备

按单位分类
字节流:以字节为单位,可以读写所有数据
字符流:以字符为单位,只能读写文本数据

按功能分类
节点流:具有实际传输数据的读写功能(FileInputStream / FileOutputStream)
过滤流:在节点流的基础之上增强功能(BufferedInputStream / BufferedOutputStream)

字节流父类(抽象类)
InputStream:字节输入流
OutputStream:字节输出流
在这里插入图片描述

字节流

1.文件字节流
FileInputStream / FileOutputStream
在这里插入图片描述

2.字节缓冲流
提高IO效率,减少访问磁盘的次数
数据存储在缓冲区
BufferedInputStream / BufferedOutputStream

3.对象流
ObjectInputStream(反序列化) / ObjectOutputStream(序列化)
在这里插入图片描述

增强读写对象的功能
序列化:把内存的对象写入流中
注意事项:

  • 1.序列化类需要实现Serializable接口
  • 2.序列化类中对象属性要求实现Serializable接口
  • 3.序列化版本号ID,保证序列化的类和反序列化的类是同一个类
  • 4.使用transient修饰属性,则该属性不能序列化
  • 5.静态属性不能序列化
    • 6.序列化多个对象,可以借助集合实现

反序列化:从文件中读取对象
static属性定义在类文件中之后,在其他类中调用该属性,并更改静态属性的值,只是更改了内存中静态属性的值,类文件中定义的静态属性并没有受到影响,当你在其他类中再次调用静态属性时,还是初始值

字符流

1.文件字符流
在这里插入图片描述
FileWriter有缓冲区

2.字符缓冲流
在这里插入图片描述

打印流

在这里插入图片描述
PrintWriter有缓冲区

转换流

在这里插入图片描述
InputSreamReader:硬盘的字节输入流在内存转换为字符输入流
OutputStreamWriter:内存的字符输出流在硬盘转换为字节输出流

File类

在这里插入图片描述
FileFilter
在这里插入图片描述

举报

相关推荐

Java--IO流

JAVA--IO流

Java--IO流(File对象)

Java--IO

JAVA--IO(后)

# Java基础——IO流

Java基础_IO流

JAVA基础IO流

0 条评论