对象的序列化过程和案例
来源:互联网 发布:死亡实验2001知乎 编辑:程序博客网 时间:2024/06/05 04:15
import java.io.FileInputStream;
/*
* 对象的序列化,注意:
* 1:ObjectOutputStream对象的写入
* 2:ObjectInputStream对象的读取
* 这两个必须同时使用才能够读取出对象的数据,要不然是不能够读取成功的
* 3:Serializable添加序列号表示对象的唯一性
*/
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
public class ObjectStreamDemo {
public static void main(String[] args) {
try {
writeObj();
readObj();
} catch (Exception e) {
e.printStackTrace();
}
}
public static void readObj()throws Exception {
ObjectInputStream ois=new ObjectInputStream(new FileInputStream("d:\\obj.txt"));
Person p=(Person) ois.readObject();
System.out.println(p);
ois.close();
}
public static void writeObj() throws IOException {
ObjectOutputStream oos=new ObjectOutputStream(new FileOutputStream("d:\\obj.txt"));
oos.writeObject(new Person("zhangsan", 24));
oos.close();
}
}
//定义一个person类,用来实现Serializable接口,但是Serializable接口没有方法,仅仅是为了给类做标记
class Person implements Serializable{
//添加该句话是为了解决经过添加或修改某个变量的属性值导致序列化号改变
public static final long serialVersionUID=42L;
//自定义一个序列化号,使其具有唯一性
private String name ;
transient int age ;//使用transient可以使非静态的成员变量不能序列化
static String country="cn";//静态变量不能实例化
public Person(String name, int age) {
super();
this.name = name;
this.age = age;
}
@Override
public String toString() {
return "Person [name=" + name + ", age=" + age + "country="+country+"]";
}
}
0 0
- 对象的序列化过程和案例
- Java 序列化对象的一个使用案例
- Java 序列化对象的一个使用案例
- Java序列化对象的一个使用案例-使用Http发送对象
- Java序列化对象的一个使用案例-使用Http发送对象
- java对象的序列化和拷贝
- 序列化的过程
- 序列化和序列话反 入门案例
- 对象的序列化
- 对象的序列化
- 对象的序列化
- 对象的序列化
- 对象的序列化
- 对象的序列化
- 对象的序列化
- 对象的序列化
- 对象的序列化
- 对象的序列化
- 配置phpmyadmin使登录时可填写IP管理多台MySQL
- [习惯统计:桌面]遇到的问题&反省(1)
- 流的特殊用法之管道流的使用方法案例
- Java语法基础之函数的使用说明
- android进度条
- 对象的序列化过程和案例
- tslib移植的问题:No raw modules loaded.ts_config:No such file or directory
- 递归引发的jvm栈溢出的理解--堆和栈的概念整理
- Android通知栏(设置多通知,跳转至对应的界面)
- 右侧悬浮框
- 初识JNDI
- android中handler用法总结
- 修改Android签名证书keystore的密码、别名alias以及别名密码
- Monkey测试工具