当前位置:学者斋 >

计算机 >java语言 >

java对象序列化与对象反序列化

java对象序列化与对象反序列化

Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。以下是小编为大家搜索整理的java反序列化对象的技巧,欢迎阅读!更多精彩内容请及时关注我们考试网!

java对象序列化与对象反序列化

下面的DeserializeDemo程序实例了反序列化,/tmp/存储了Employee对象。

import .*;

public class DeserializeDemo

{

public static void main(String [] args)

{

Employee e = null;

try

{

FileInputStream fileIn = new FileInputStream("/tmp/");

ObjectInputStream in = new ObjectInputStream(fileIn);

e = (Employee) Object();

e();

e();

}catch(IOException i)

{

tStackTrace();

return;

}catch(ClassNotFoundException c)

{

tln("Employee class not found");

tStackTrace();

return;

}

tln("Deserialized Employee...");

tln("Name: " + );

tln("Address: " + ess);

tln("SSN: " + );

tln("Number: " + er);

}

}

以上程序编译运行结果如下所示:

Deserialized Employee...

Name: Reyan Ali

Address:Phokka Kuan, Ambehta Peer

SSN: 0

Number:101

这里要注意以下要点:

readObject() 方法中的try/catch代码块尝试捕获 ClassNotFoundException异常。对于JVM可以反序列化对象,它必须是能够找到字节码的类。如果JVM在反序列化对象的过程中找不到该类,则抛出一个 ClassNotFoundException异常。

注意,readObject()方法的'返回值被转化成Employee引用。

当对象被序列化时,属性SSN的值为111222333,但是因为该属性是短暂的,该值没有被发送到输出流。所以反序列化后Employee对象的SSN属性为0。

标签: 序列化 JAVA
  • 文章版权属于文章作者所有,转载请注明 https://xuezhezhai.com/jsj/java/nxg6.html