io流(对象流总结)
2024-08-31 20:08:29
对象流
- 对象流就是对引用数据类型进行操作
- 序列化:将对象的状态信息转换为可以存储或传输的形式的过程,因此类需要序列化后才可以存储到文件中
对象输出流:
很简单,就三句话,将把一个对象导入指定文件中,要注意:被导入的对象必须要实现一个借口(Serializable,可序列化接口),而这个接口就是一个标志,在没有作用,标志你可以被导入到硬盘中
我们写进文件中的信息我们看不懂,但是计算机可以看懂
package com.bjsxt.test08;
import java.io.*;
public class Test {
public static void main(String[] args) throws IOException {
ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(new File("D:\\a\\a.txt")));
oos.writeObject(new Student(18,"hao"));
oos.close();
}
}
对象输入流:
注意:
- 类中要有ToString方法
- 要给类加一个序列化版本号,这样就可以无论如何修改都可以同步了,就不会出现异常
- 类中static,transient修饰的属性不会参与序列化
- 如果你把引用数据类型当做属性的话(需要创建对象),必须将它进行序列化操作,不然会影响外边的序列化操作
package com.bjsxt.test08;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
public class Test02 {
public static void main(String[] args) throws IOException, ClassNotFoundException {
ObjectInputStream ois = new ObjectInputStream(new FileInputStream(new File("D:\\a\\a.txt")));
Object o = ois.readObject();
System.out.println(o);
ois.close();
}
}
- 实现类如何生成序列化版本号?
点击File------->Settings--------->inspections
在实现类上Alt+Insert生成序列化版本化。
最新文章
- css驼峰写法
- JS中的函数(二):函数参数(你可能不知道的参数传递)
- eclipse 中添加工程 Some projects cannot be imported because they already exist in the workspace
- solr6.0学习
- HDU5806 NanoApe Loves Sequence Ⅱ (BestCoder Round #86 C)二分
- Safari浏览器的调试
- Java 编程的动态性, 第4部分: 用 Javassist 进行类转换--转载
- expdp时遇到ORA-31693&;amp;ORA-02354&;amp;ORA-01466
- My Calendar III
- Android代码混淆的问题解决(java.io.FileNotFoundException)
- js实现一键导出Excel
- 关于VS2010 在设计窗口时控件消失问题
- EF 数据迁移 常见错误
- Centos-Mariadb(新版mysql)无法远程连接
- Scrollview包裹布局问题。
- MySQL 的主从原理和复制过程简述
- .NET Framework 工具
- Linux之查看切换Shell
- ./configure、make、make install 命令
- LA 3135 阿格斯(优先队列)