Java学习之I/O流
2021/5/25 1:25:01
本文主要是介绍Java学习之I/O流,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
5.24
目录
File文件
打印流
对象序列化流
Properties
输入输出流
File文件
-
文件和目录可以通过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关键词
Properties
是一个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表中,写入输入字符流 |
输入输出流
这篇关于Java学习之I/O流的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-10-01基于Python+Vue开发的医院门诊预约挂号系统
- 2024-10-01基于Python+Vue开发的旅游景区管理系统
- 2024-10-01RestfulAPI入门指南:打造简单易懂的API接口
- 2024-10-01初学者指南:了解和使用Server Action
- 2024-10-01Server Component入门指南:搭建与配置详解
- 2024-10-01React 中使用 useRequest 实现数据请求
- 2024-10-01使用 golang 将ETH账户的资产平均分散到其他账户
- 2024-10-01JWT用户校验课程:从入门到实践
- 2024-10-01Server Component课程入门指南
- 2024-09-30Dnd-Kit学习:新手快速入门指南