`
8850702
  • 浏览: 28607 次
文章分类
社区版块
存档分类
最新评论

Java.io.序列化和反序列化

 
阅读更多
//对象序列化
	//所谓对象序列化,即把一个对象,变为二进制
	//对象所在的类,须实现Serializable接口
	public static void main(String[] args) throws Exception {
		ObjectOutputStream objectOutput=
				new ObjectOutputStream(new FileOutputStream(new File("d:"+File.separator+"t2.txt")));
		objectOutput.writeObject(new Person("Lee", 11));
	}


//反序列化
	public static void main(String[] args) throws Exception {
		ObjectInputStream objectInputStream = 
				new ObjectInputStream(new FileInputStream(new File("d:"+File.separator+"t2.txt")));
		
		Object object = objectInputStream.readObject();//读取对象
		objectInputStream.close();
		System.out.println(object); 


//序列化,需要实现Serializable接口
class Person3 implements Serializable {
	private int age;
	private String name;

	@Override
	public String toString() {
		return "Person3 [age=" + age + ", name=" + name + "]";
	}

	public int getAge() {
		return age;
	}

	public void setAge(int age) {
		this.age = age;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public Person3(int age, String name) {
		super();
		this.age = age;
		this.name = name;
	}

}

public class T19 {
	//序列化一组对象
	public static void main(String[] args) throws Exception {
		Person3[] pers = { new Person3(11, "Lee"), new Person3(22, "qwere"), new Person3(55, "xiao"), };

		ser(pers);
		Object[] objects = deser();
		for (int i = 0; i < objects.length; i++) {
			Person3 p = (Person3) objects[i];
			System.out.println(p);
		}
	}

	//序列化
	public static void ser(Object[] obj) throws Exception {
		ObjectOutputStream objectOutputStream = new ObjectOutputStream(
				new FileOutputStream(new File("d:" + File.separator + "ser.txt")));

		objectOutputStream.writeObject(obj);
		objectOutputStream.close();//关闭输出
	}

	//反序列化
	public static Object[] deser() throws Exception {
		ObjectInputStream objectInputStream = new ObjectInputStream(
				new FileInputStream(new File("d:" + File.separator + "ser.txt")));

		Object[] obj = (Object[]) objectInputStream.readObject();//读取对象数组
		objectInputStream.close();
		return obj;
	}
}
分享到:
评论

相关推荐

    java.io.Serializable序列化问题

    java.io.Serializable序列化问题

    java 中序列化NotSerializableException问题解决办法

    主要介绍了java 中序列化NotSerializableException问题解决办法的相关资料,这里对序列化问题进行描述说明,并提供解决办法,希望能帮助到大家,需要的朋友可以参考下

    java.io.InvalidClassException local class incompatible 处理方法

    java.io.InvalidClassException local class incompatible 序列化的对象需要ID号,故需要手动指定ID号。

    IO,Socket通讯,序列化.pptx

    IO,Socket通讯,序列化.pptx

    深入分析Java的序列化与反序列化

     为什么实现了java.io.Serializable接口才能被序列化  transient的作用是什么  怎么自定义序列化策略  自定义的序列化策略是如何被调用的  ArrayList对序列化的实现有什么好处  Java对象的序列化  ...

    java-Hadoop序列化

     Java序列化(java.io.Serializable)  Hadoop序列化的特点  Hadoop的序列化格式:Writable  序列化格式特点:  紧凑:高效使用存储空间。  快速:读写数据的额外开销小  可扩展:可透明地读取老格式...

    java.io 流详解,配许多具体实例。

    程序详细讲解了java流的具体知识,包括字节流,字符流,转化流,节点流,处理流,转换流,数据流,及可序列化的Object流。每个例子,都包含一个readme.txt文件,此文件包含对每个例子的功能解释,和重要的代码实现。

    Java对象的序列化和反序列化实践

     把字节序列恢复为Java对象的过程称为对象的反序列化。  对象的序列化主要有两种用途:  1)把对象的字节序列地保存到硬盘上,通常存放在一个文件中;  2)在网络上传送对象的字节序列。  一、JDK类库...

    java中的IO操作总结(四)

    Serializable序列化 实例1:对象的序列化 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 import java.io....

    Java常用工具包Jodd.zip

    获取函数参数名jodd-dboom 数据库访问的轻量级封装,可看作一个简单的ORMjodd-json JSON解析、序列化jodd-vtor 一个基于注解的字段验证框架了解更多: GitHub page (5 min overview): http://oblac.github.io/jodd...

    Java IO流对象的序列化和反序列化实例详解

    主要介绍了Java IO流对象的序列化和反序列化实例详解的相关资料,需要的朋友可以参考下

    介绍Java对象序列化使用基础

    序列化的过程就是对象写入字节流和从字节流中读取对象。将对象状态转换成字节流之后,可以用java.io包中的各种字节流类将其保存到文件中,管道到另一线程中或通过网络连接将对象数据发送到另一主机。对象序列化功能...

    java序列化和反序列化,面试必备

    最近阅读Serializable接口和Externalizable接口的源码,并结合了一些资料,对面试过程中与序列化相关的内容做了一些总结。 一、序列化、反序列化、使用场景、意义。 序列化:将对象写入IO流中; 反序列化:从IO流中...

    Java高级程序设计实战教程第五章-Java序列化机制.pptx

    其中包括以下接口和类: java.io.Serializable java.io.Externalizable ObjectOutput ObjectInput ObjectOutputStream ObjectInputStream Java高级程序设计实战教程第五章-Java序列化机制全文共15页,当前为第7页。...

    Java序列化与反序列化三种格式存取

     一般而言,要使得一个类可以序列化,只需简单实现java.io.Serializable接口即可(还要实现无参数的构造方法)。该接口是一个标记式接口,它本身不包含任何内容,实现了该接口则表示这个类准备支持序列化的功能。...

    Java SE编程入门教程 java序列化(共14页).pptx

    Java SE编程入门教程 java序列化(共14页).pptx Java SE编程入门教程 java异常(共57页).pptx Java SE编程入门教程 java正则(共8页).pptx Java SE编程入门教程 properties(共3页).pptx Java SE编程入门教程 ...

    JAVA_API1.8中文文档(CHM版).rar

    中文版,平时开发超实用工具。 Java 2 Platform 软件包 java.applet 提供创建 applet...java.io 通过数据流、序列化和文件系统提供系统输入和输出。 java.lang 提供利用 Java 编程语言进行程序设计的基础类。 ......

    JavaIO流学习资料

    IO的输入输出的讲解,你们想要的资料都可以参考, 还有里面写了关于反序列化的内容···

    7.7初始mybatis个人笔记.docx

    java.io.NotSerializableException: ...在mybatis中使用二级缓存时候就必须需要将实体类序列化implements Serializable,我的mapper文件使用了标签,使用了mybatis提供的二级缓存,所以在我的实体类里面必须序列化

    io_输入输出流_序列化反序列化_04.zip

    Java基础 IO file/输入输出/字节/字符流 BugReport 序列化/反序列化

Global site tag (gtag.js) - Google Analytics