Java自学总结之八序列化
来源:互联网 发布:淘宝号改后台有危害吗 编辑:程序博客网 时间:2024/05/29 10:01
在设计程序的过程中,对象一般都有表针状态和属性的实例变量,比如设计游戏时,我们需要保存用户的通关状态等,所以如何保存对象的实例变量是非常重要的一个知识点。
存储对象有两种方法:
1. 序列化:就像下图的压缩袋一样,序列化之前就是压缩前,序列化之后就是压缩后,保留下来是能够代表物体对象特征的东西,就像被子被压缩后,不能表征被子的空气被抽走,能不是棉花被抽走
下面是序列化的一个代码例子
public class Box<span style="color:#009900;"> implements Serializable</span>{<span style="font-size:24px;color:#cc33cc;">//此处要特别注意Serializable接口是一个标记用的接口,因此,不需要实现任何方法</span>private int width;private int heigth;public void setWidth(int w){width = w;}public void setHeigth(int h){heigth = h;}public static void main(String[] args) {// TODO Auto-generated method stubBox MyBox = new Box();MyBox.setWidth(50);MyBox.setHeigth(30);try{FileOutputStream fs = new FileOutputStream("foo.ser");ObjectOutputStream os = new ObjectOutputStream(fs);os.writeObject(MyBox);os.close();}catch(Exception ex){ex.printStackTrace();}}}
串流是指连接连接来源和目的地的那个线,上面代码中FileOutputStream(连接)和ObjectOutputStream(调用的方法)就是连接对象和文件的两个串流,通常串流是俩俩连接的,一个表示连接,另一个表示调用的方法,这是因为连接的串流通常是很底层的,例如FileOutputStream(连接)是以字节的形式写入文件的,但在实际编程中,我们是以对象的形式写入文件中,因此需要中间的高层连接串流,ObjectOutputStream就会调用它的方法把对象转化为字节然后通过连接串流存入文件中。
序列化,是全有或全无的序列化。
对应的还有解序列化
2.将数据存储为文本
import java.io.*;
public class Box {
public static void main(String[] args) {
// TODO Auto-generated method stub
try{
BufferedWriter writer = new BufferedWriter(new FileWriter("myname.txt"));
writer.write("liliping");
writer.flush();
}catch(Exception ex){
ex.printStackTrace();
}
}
}
这里引入了缓存区的作用
- Java自学总结之八序列化
- java基础系列(八)之自定义序列化
- JAVA自学之每日一题(八)
- 自学Java之Java编程(序列化和查看对象)(016day)
- 黑马程序员java自学总结之--集合
- 黑马程序员java自学总结之--反射
- 黑马程序员java自学总结之--异常
- 黑马程序员java自学总结之--泛型
- 黑马程序员java自学总结之--模式
- Java自学总结之四结构函数
- Java自学总结之六异常处理
- java 自学日志【八】---异常
- Java序列化总结
- java序列化总结
- java序列化总结
- Java序列化总结
- java总结(之八)--并发
- HMM 自学教程(八)总结
- ubuntu安装之后的最初几天一路杂记
- 浙大PAT水题简单分析 转
- 《史蒂夫·乔布斯传》读后感
- 主席树模版
- Android手机目前常见的分辨率
- Java自学总结之八序列化
- 多态 继承 复合
- Java异常处理
- PHP面向对象基础笔记一
- C语言学习笔记 1 C语言介绍
- android 实现listview高固定,且不滑动
- os x下的aptitude
- BZOJ 1110 POI2007 砝码Odw 贪心
- linux体系结构与内核结构图解