zoukankan
html css js c++ java
序列化 java.io.Serializable
通过 一个简单的例子来认识 Serializable
package
tt;
import
java.io.File;
import
java.io.FileInputStream;
import
java.io.FileOutputStream;
import
java.io.ObjectInputStream;
import
java.io.ObjectOutputStream;
import
java.io.Serializable;
class
ObjectYouWannaSave
implements
Serializable
{
private
static
final
long
serialVersionUID
=
3224332633725166982L
;
//
所有实现Serializable接口的类都需要增加 serialVersionUID
int
x;
int
y;
SubObject so
=
new
SubObject();
}
class
SubObject
implements
Serializable
{
private
static
final
long
serialVersionUID
=
4224332633725166867L
;
String s
=
"
abc
"
;
//
String is OK, because String is java.io.Serializable
}
class
Save
{
//
in Save.java
public
void
main(String[] args)
{
ObjectYouWannaSave original
=
new
ObjectYouWannaSave();
original.x
=
-
1
;
original.y
=
100
;
ObjectOutputStream out
=
null
;
try
{
out
=
new
ObjectOutputStream(
new
FileOutputStream(
new
File(
"
c:/save.dat
"
)));
out.writeObject(original);
//
将 对象写入持久
}
catch
(Exception e)
{
System.out.println(
"
将实例写入文件出错:
"
+
e.toString());
}
finally
{
try
{out.close();}
catch
(Exception e)
{}
}
}
}
class
Read
{
//
in Read.java
public
void
main(String[] args)
{
ObjectInputStream in
=
null
;
try
{
in
=
new
ObjectInputStream(
new
FileInputStream(
new
File(
"
c:/save.dat
"
)));
ObjectYouWannaSave o
=
(ObjectYouWannaSave)in.readObject();
System.out.println(
"
x=
"
+
o.x);
System.out.println(
"
y=
"
+
o.y);
System.out.println(
"
subobject.string=
"
+
o.so.s);
}
catch
(Exception e)
{
}
finally
{
try
{in.close();}
catch
(Exception e)
{}
}
}
}
public
class
TT
{
/** */
/**
* 程序入口
* 2007-01-19 19:43
*/
public
static
void
main(String[] args)
{
//
Save ss = new Save();
//
ss.main(args);
Read rr
=
new
Read();
rr.main(args);
//
这是个最简单的例子,先运行Save,以后什么时候运行Read都可以(只要c:\save.dat文件还存在就可以了)
}
}
/** */
/**
* 对象的寿命通常随着生成该对象的程序终止而终止,有时候,可能需要将对象的状态保存下来,
* 在需要的时候再将对象恢复,我们把对象的这种记录自己状态的以便将来再生的能力,叫做对象
* 的持续性(PERSISTENCE),对象通过写出描述自己状态的数值来记录自己,这个过程叫对象
* 的串行化Serializable。串行化的主要任务是写出对象实例变量的值。如果变量是另一个对象
* 的引用,则引用的对象也要串行化,这是个递归过程。
*/
查看全文
相关阅读:
JS通过组装key值访问json对象中的值
js属性对象的hasOwnProperty方法
ES6 去掉已经 new Date().format 方法
Ajax不能接受php return值的原因
CentOS最常用命令及快捷键整理
js中for循环中需要调用异步方法,怎么确保执行的顺序?
MYSQL 更新字段,向字段追加字符串
java-学习2
java-学习1
JS----贪吃蛇游戏
原文地址:https://www.cnblogs.com/eflylab/p/625050.html
最新文章
Xcode最最实用快捷键
C程序编译执行过程
iOS JsonModel
UISegmentedControl
iOS播放gif图方式
弱指针
指针常量;常量指针;指向常量的指针常量
UIImagePickerController
Xcode快捷键
iOS之Xcode修改应用图标
热门文章
SourceTree提交不了,报git -c diff.mnemonicprefix=false -c core.quotepath=false push -v --tags origin master:master
unfortunately,*********** has stopped及卸载模拟器上的多余不用apk
react-native 新手爬坑经历(Could not connect to development server.)
react-native 新手爬坑经历(unable to load script from assets 和could not connect to development server.)
vue 关键词模糊查询
数据库启动windows
总结上海永辉云商高级前端职位面试题集
运用findIndex获取元素的索引
jquery click点击一次执行多次的问题
jquery移除元素同时销毁事件
Copyright © 2011-2022 走看看