1、Properties集合
2、序列化流与反序列化流
3、打印流
4、commons-IO
01Properties集合的特点
- A: Properties集合的特点
- a: Properties类介绍
- Properties 类表示了一个持久的属性集。Properties 可保存在流中或从流中加载。属性列表中每个键及其对应值都是一个字符串
- b: 特点
- Hashtable的子类,map集合中的方法都可以用。
- 该集合没有泛型。键值都是字符串。
- 它是一个可以持久化的属性集。键值可以存储到集合中,也可以存储到持久化的设备(硬盘、U盘、光盘)上。键值的来源也可以是持久化的设备。
- 有和流技术相结合的方法。
- c: 方法介绍
1 | void test() |
02Properties集合存储键值对
1 | * A: Properties集合存储键值对 |
03Properties集合的方法load
1 | * A: Properties集合的方法load |
04Properties集合的方法store
1 | * A: Properties集合的方法store |
05对象的序列化与反序列化
- A: 对象的序列化与反序列化
- a: 基本概念
- 对象的序列化
- 对象中的数据,以流的形式,写入到文件中保存过程称为写出对象,对象的序列化
- ObjectOutputStream将对象写道文件中,实现序列化
- 对象的反序列化
- 在文件中,以流的形式,将对象读出来,读取对象,对象的反序列化
- ObjectInputStream 将文件对象读取出来,对象的反序列化
06ObjectOutputStream流写对象
1 | * A: ObjectOutputStream流写对象 |
07ObjectInputStream流读取对象
1 | * A: ObjectInputStream流读取对象 |
08静态不能序列化
- A: 静态不能序列化
- a: 原因
- 序列化是把对象数据进行持久化存储
- 静态不属于对象,而属于类
09transient 瞬态关键字
- A: transient关键字
- a: 作用
- 被transient修饰的属性不会被序列化
- transient关键字只能修饰成员变量
10Serializable接口的含义
- A:Serializable接口的含义
- a: 作用
- 给需要序列化的类上加标记。该标记中没有任何抽象方法
- 只有实现了 Serializable接口的类的对象才能被序列化
11序列化中的序列号冲突问题
- A: 序列化中的序列号冲突问题
- a: 问题产生原因
- 当一个类实现Serializable接口后,创建对象并将对象写入文件,之后更改了源代码(比如:将成员变量的修饰符有private改成public),
再次从文件中读取对象时会报异常
- 当一个类实现Serializable接口后,创建对象并将对象写入文件,之后更改了源代码(比如:将成员变量的修饰符有private改成public),
12序列化中自定义的序列号
- A: 序列化中自定义的序列号
a: 定义方式
- private static final long serialVersionUID = 1478652478456L;
- 这样每次编译类时生成的serialVersionUID值都是固定的
b: 案例代码
1 | public class Person implements Serializable{ |
13打印流和特性
1 | * A: 打印流和特性 |
14打印流输出目的是File对象
1 | * A: 打印流输出目的是File对象 |
15输出语句是char数组
1 | * A: 输出语句是char数组 |
16打印流输出目的是String和流对象
1 | * A: 打印流输出目的是String和流对象 |
17打印流开启自动刷新
1 | * A: 打印流开启自动刷新 |
18打印流复制文本文件
1 | * A: 打印流复制文本文件 |
19commons-io工具类介绍
- A: commons-io工具类介绍
- a: 工具类介绍
- 解压缩commons-io-2.4.zip文件
- commons-io-2.4.jar需要导入到项目中的jar包,里面存放的是class文件
- commons-io-2.4-sources.jar工具类中原代码
- docs是帮助文档
20使用工具类commons_io
- A: 使用工具类commons_io
- a: 导入jar包
- 加入classpath的第三方jar包内的class文件才能在项目中使用
- 创建lib文件夹
- 将commons-io.jar拷贝到lib文件夹
- 右键点击commons-io.jar,Build Path→Add to Build Path
idea 是 Add as Libirary
- b: 学会如何看源代码,需要添加source文件:commons-io-2.4-sources.jar
21IO工具类FilenameUtils
1 | * A: IO工具类FilenameUtils |
22IO工具类FileUtils
1 | * A: IO工具类FileUtils |
23总结
1 | void test() |