IO流

只记:
1. Stream:面向字节流 byte[ ]编写!
2. Reader/Writer:面向字符流 char[ ]编写!(中文要用字符流,字节流读会乱码)

小知识:
IDEA默认文件路径是项目Project的根文件下(模块同级的文件
注意文件复制要把文件名写在目的地址中,不然会出现拒绝访问!
注意:这里的所有异常建议try…catch…finally(老师后面的例题为了简便直接throws了)

都在java.io.*

在这里插入图片描述在这里插入图片描述
纯文本文件:能用记事本直接编辑的文件!(普通文本文件和后缀名无关,不一定是.txt)
在这里插入图片描述

重点

在这里插入图片描述在这里插入图片描述
怎么放的就怎么读:(读放对应)放了两个对象就要读两次,放一个List(有多个对象),也只需要读一次(读出这个List)。

在这里插入图片描述

  • 节点流:可以从或向一个特定的地方(节点)读写数据。如FileReader.
  • 处理流:是对一个已存在的流的连接和封装,通过所封装的流的功能调用实现数据读写。如BufferedReader.处理流的构造方法总是要带一个其他的流对象做参数。一个流对象经过其他流的多次包装,称为流的链接。

在这里插入图片描述

FileInputStream

Stream:面向字节流 byte[ ]编写!
另一个无参read()方法每次读取一个字节,将读到的数据以int型返回(ASCLL码值)
byte数组是在内存中开辟的,每次读的数据【流】进内存,填入开辟的byte数组中。
在这里插入图片描述
int available() :
在这里插入图片描述
long skip(long a): 跳过几个字节不读
在这里插入图片描述

FileOutputStream

在这里插入图片描述

Copy

任何文件都可以copy
FileOutputStream的 write(byte b[ ], int off, int len) 方法:
在这里插入图片描述
在这里插入图片描述

FileReader

Reader/Writer:面向字符流 char[ ]编写!
字符流只能读普通文本,连word文件都不能读!
照葫芦画瓢:(拥有的方法都一样)
在这里插入图片描述

FileWriter

可以直接写String:
在这里插入图片描述

copy

要学会先搭架子(写注释啊大哥!!!)
在这里插入图片描述

BufferedReader

在这里插入图片描述在这里插入图片描述
而BufferedInputStream就没有readLine()

IntputStreamReader

在这里插入图片描述

BufferedWriter

在这里插入图片描述

数据流

在这里插入图片描述

标准输出流

PrintStream为例:
System.out就是一个标准输出流!
在这里插入图片描述

创建日志工具类

在这里插入图片描述

java.io.File

Object类的直接子类
在这里插入图片描述

主要方法:
在这里插入图片描述

重要:mkdir()与mkdirs()
在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述

序列化 反序列换

在这里插入图片描述

ObjectOutputStream 序列化

在这里插入图片描述

ObjectInputStream 反序列化

在这里插入图片描述

(反)序列多个对象

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

transient

在这里插入图片描述

序列化版本号

  1. 凡是实现Serializable接口就会拥有一个序列化版本号
  2. 可以手动设置,否则JVM会自动分配
  3. 若由JVM自动分配,则若改动类JVM会重新分配(且JVM先用类名区分类,类名相同的用序列化版本号进行区分)
  4. 对象的序列化版本号在序列化前后不变,才能进行反序列化

所以建议给类手动提供一个不变的序列化版本号(随便设置一个数字就行,保证在自己的项目中不会重复 IDEA可以自动生成)
如,Java中的对象类都有固定序列化版本号
在这里插入图片描述

IO与Properties

Properties中的 load(InputStream/reader)方法:
在这里插入图片描述在这里插入图片描述

资源绑定器包装了IO与Properties

ResourceBundle
在这里插入图片描述

管道实现线程之间的通信流

在这里插入图片描述

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值