关于Serializable

在看TK的时候碰到的,一直没搞清楚这个接口到底是怎么回事,后面终于翻到了一个例子运行后终于有点明白了,

在序列化过程中主要通过 FileOutputStream fos=new FileOutputStream("serial"); 
ObjectOutputStream oos=new ObjectOutputStream(fos); 
oos.writeObject(object1); 
oos.flush(); 
oos.close();
来把对象写入文件serial中。

而反序列化过程则是使用 FileInputStream fis=new FileInputStream("serial"); 
ObjectInputStream ois=new ObjectInputStream(fis); 
object2=(MyClass)ois.readObject(); 
ois.close();
来把文件serial中的对象object的信息读取回来还原成对象,

完整示例如下(代码[zz])

import java.io.*; 
public class 
SerializationDemo
public static 
void main(String args[]){ 
//Object serialization 
try{ 
MyClass object1=new MyClass("Hello",-7,2.7e10);     


System.out.println("object1:"+object1); 
FileOutputStream fos=new FileOutputStream("serial"); 
ObjectOutputStream oos=new ObjectOutputStream(fos); 
oos.writeObject(object1); 
oos.flush(); 
oos.close(); 

catch(
Exception e){ 
System.out.println("Exception during serialization:"+e); 
System.exit(0); 

//Object deserialization 
try{ 
MyClass object2
FileInputStream fis=new FileInputStream("serial"); 
ObjectInputStream ois=new ObjectInputStream(fis); 
object2=(MyClass)ois.readObject(); 
ois.close(); 
System.out.println("object2:"+object2); 

catch(
Exception e){ 
System.out.println("Exception during deserialization:"+e); 
System.exit(0); 



class 
MyClass implements Serializable
String s
int i
double d
public 
MyClass(String s,int i,double d){ 
this.s=s
this.i=i
this.d=d

public 
String toString(){ 
return 
"s="+s+";i="+i+";d="+d

}

Tags: java

« 上一篇 | 下一篇 »

只显示10条记录相关文章

1条记录访客评论

咖啡到此一游
继续努力啊 哈哈
不过文章比较差
哈哈 因为我看不懂...................................:)

Post by 咖啡 on 2006, December 20, 2:53 PM 引用此文发表评论 #1


发表评论

评论内容 (必填):