5.24
目录
File文件
打印流
对象序列化流
Properties
输入输出流
文件和目录可以通过File封装为对象
方法名 | 说明 |
---|---|
File(String ) | 给定路径名封装为File对象 |
File(String , String) | 父路径名和子路径名创建新的File对象 |
File(File , String) | 父类和子类结合创建 |
方法名 | 说明 |
---|---|
isDirectory() | File是否为空 布尔类型 |
isFile() | File是否为文件 布尔类型 |
exists() | File是否存在 布尔类型 |
getAbsolutePath() | 获取绝对地址 String类型 |
getPath() | 相对地址 String类型 |
getName() | 获取文件或目录的名称 String类型 |
list() | 获取文件和目录名称字符串数组 String[]类型 |
listFiles() | 获取目录和文件的File对象数组 File[]类型 |
delete()删除方法:目录中有内容不能删除
字节打印流 PrintStream
字符打印流 PrintWriter
特点
只负责输出数据 不负责读取数据
有自己的特有方法
字节打引流
PrintStream(String fileName)
对象序列化:就是将对象保存到磁盘中,或者在网络中传输对象 这种机制就是使用一个字节序列表示一个对象,该字节序列包含:对象的类型,对象的数据,和对象中存储的属性等信息, 字节序列写到文件之后,相当于在文件中持久保存一个对象信息 反之,使用对象反序列化流重构对象,从文件中读取出来
对象序列化流 ObjectOutputStream
对象反序列化流 ObjectInputStream
构造方法
ObjectOutputStream(OutputStream out)
序列化对象的方法
void WriteObject(Object obj)
注意
一个对象想要序列化,该对象的所属的类必须实现Serializable接口
Serializable是一个标记接口,实现该接口不需要重写任何方法
对象序列化一些问题
用对象序列化序列化一个对象之后,修改对象所属的类,读取文件会出现问题
可以给所属的类加一个变量
private static final long serialVersionUID =42L
如果一个对象中的某个成员变量的值不想序列化 给该成员变量加一个transient关键词
是一个Map体系的集合类 可以保存到流中或者从流中加载
作为集合特有的方法
方法 | 说明 |
---|---|
setProperty(String key,String value) | 设置集合的键和值,底层调用HashTable方法put |
geProperty(String key) | 使用此属性列表中指定的键搜属性 |
Set<String>stringPropertyNames() | 获取键集 |
作为IO流的特有方法
方法 | 说明 |
---|---|
load(InputStream in) | 从输入字节流读取属性列表 |
load(Reader r) | 从输入字符流读取属性列表 |
store(OutputStream out,String s) | 写入Property表中,写入输入字节流 |
store(Writer w,String s) | 写入Property表中,写入输入字符流 |