`

ObjectOutputStream和ObjectInputStream类的学习

阅读更多
ObjectOutputStream和ObjectInputStream类所读写的对象必须实现了Serializable的接口,对象中的transient和static类型的成员变量不会被读取和写入.

下面写个简单的例子:
1. SerializationTest.java文件
package cn.com;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;

public class SerializationTest {

	public static void main(String[] args) {

		Student student1 = new Student(19, "zhangsan", 25, "chemistry");
		Student student2 = new Student(20, "lisi", 23, "phsical");
		try {
			FileOutputStream fos = new FileOutputStream("student.txt");
			ObjectOutputStream os = new ObjectOutputStream(fos);

			os.writeObject(student1);
			os.writeObject(student2);
			os.close();

			FileInputStream fis = new FileInputStream("student.txt");
			ObjectInputStream is = new ObjectInputStream(fis);

			try {
				student1 = (Student) is.readObject();
				student2 = (Student) is.readObject();

				is.close();

				System.out.println("id1 = " + student1.id);
				System.out.println("name1 = " + student1.name);
				System.out.println("id2 = " + student2.id);
				System.out.println("name2 = " + student2.name);

			} catch (ClassNotFoundException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}

		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}




2.Student.java文件
package cn.com;

import java.io.Serializable;

public class Student implements Serializable {

	int id;

	String name;

	int age;

	String department;

	public Student(int id, String name, int age, String department) {
		this.id = id;
		this.name = name;
		this.age = age;
		this.department = department;
	}

}


分享到:
评论
2 楼 sf_dream 2014-11-20  
我要是读写list、map之类的集合呢
1 楼 fanfubao 2010-10-27  
这个学习了,不错,但就是还是不太明白,呵呵

相关推荐

    java序列化与ObjectOutputStream和ObjectInputStream的实例详解

    主要介绍了java序列化与ObjectOutputStream和ObjectInputStream的实例详解的相关资料,希望通过本文能帮助到大家,需要的朋友可以参考下

    java.io常用方法(基本)

    我自己写的一些关于IO中的见解,可以用来参考。 File的增、删、改、查,FileReader和FileWriter类,BufferedReader和BufferedWriter类,ObjectOutputStream和ObjectInputStream类

    ObjectInputStream 和 ObjectOutputStream 介绍_动力节点Java学院整理

    ObjectInputStream 和 ObjectOutputStream 的作用是,对基本数据和对象进行序列化操作支持。本文给大家详细介绍了ObjectInputStream 和 ObjectOutputStream的相关知识,感兴趣的朋友一起学习吧

    实验一对象序列化1

    } 由于定义了二个接口方法,方法参数分别是ObjectOutputStream和ObjectInputStream类型对象,因此这二个接口方法必须通过实现该接口

    使用流套接字建立客户机

    使用流套接字建立客户机 运用ObjectOutputStream,ObjectInputStream,ServerSocket,Socket;

    JavaIOObjectStreams:FileInputStream 与 ObjectInputStream 和 ObjectOutputStream 的组合

    JavaIO对象流 FileInputStream 与 ObjectInputStream 和 ObjectOutputStream 的组合 奥利弗·缪尔

    java io 类 小结 代码

    简洁分类 代码直接使用 InputStream OutputStream Reader Writer FileInputStream FileOutputStream FileReader FileWriter InputStreamReader ...ObjectOutputStream ObjectInputStream Scanner

    SocketTutorial:JavaPython 套接字教程 (10152014)

    套接字教程Python 和 Java 中的套接字教程。 虽然我已经包含了用于在 Python 和 Java 中设置服务器的文件,...聊天服务更多与套接字线程:下周见贝克的演讲ObjectOutputStream 和 ObjectInputStream 例子GUI Chat(见

    使用Java序列化实现一个简单的文件备份工具.txt

    在该方法中,首先通过FileInputStream和ObjectInputStream读取源文件对象,然后通过ObjectOutputStream将读取的对象写入备份文件中。这个简单的示例代码展示了如何使用Java序列化来实现一个文件备份工具的简单功能,...

    通讯录JAVA程序设计实验报告

    程序使用了ObjectInPutStream和ObjectOutPutStream这两个文件输入输出流,利用这两个文件输入输出流,可以方便的直接将通讯记录对象直接写入文件中,另外为了方便添加和删除一条记录还使用了系统的对象数组类...

    JAVA笔记??序列化

    所谓的对象序列化(在很多地方也被成为串行化),是指将对象转换成二进制...ObjectInputStream类与ObjectOutputStream类,用于帮助开发者完成保存和读取对象成员变量取值的过程,但要求读写或存储的对象必须实现了Seria

    bytestreamdemo.zip

    java IO 字节流练习代码 FileInputStream和FileOutputStream BufferedInputStream 和 BufferedOutputStream DataInputStream 和 ...ObjectInputStream和ObjectOutputStream PrintStream PushbackInputStream

    java项目超市

    ObjectInputStream ois =new ObjectInputStream(is); // 2.获取输出流 OutputStream os = socket.getOutputStream(); ObjectOutputStream oos =new ObjectOutputStream(os); Choice c=new Choice(); c....

    使用Java的文件操作实现一个简单的通讯录管理系统.txt

    loadContactsFromFile()方法使用FileInputStream和ObjectInputStream对象来读取文件中保存的Contact对象列表。如果读取失败,会抛出IOException和ClassNotFoundException异常,此时会调用saveContactsToFile()方法将...

    人工智能-项目实践-搜索引擎-java实验1-实现搜索引擎的倒排索引数据结构

    java实验1-实现搜索引擎的倒排索引数据结构 实验1知识点: 集合类的使用如ArrayList,HashMap ◦对这些集合类的操作包括...具体使用方法,请见hust.cs.javacourse.search.util.FileUtils类的read方法和write方法 设计

    JDK_API_1_6

    ObjectInputStream ObjectInputStream 对以前使用 ObjectOutputStream 写入的基本数据和对象进行反序列化。 ObjectInputStream.GetField 提供对从输入流读取的持久字段的访问权限。 ObjectOutputStream ...

    android 面试题

    4.java.io包中的objectinputstream和objectoutputstream类主要用于对对象(Object)的读写。 5.android 中service的实现方法是:startservice和bindservice。 6.activity一般会重载7个方法用来维护其生命周期,除了...

    Java之IO流学习总结

    ObjectInputStream 和所有FilterInputStream 的子类都是装饰流(装饰器模式的主角)。 2.输出字节流OutputStream IO 中输出字节流的继承图可见上图,可以看出: OutputStream 是所有的输出字节流的父类,它是一个...

    AIC的Java课程1-6章

     掌握串行化概念,学会使用FileInputStream,FileOutputStream,ObjectInputStream,ObjectOutputStream等类输入输出对象。  明白通过捕获异常判定输入文件流的结束。  [*]知道使用RandomAccessFile...

    JAVA基础课程讲义

    ObjectInputStream和ObjectOutputStream 158 PrintStream 158 Reader 158 Writer 159 FileReader和FileWriter 159 BufferReader和BufferWriter 159 InputStreamReader和OutputStreamWriter 161 JAVA对象的序列化和反...

Global site tag (gtag.js) - Google Analytics