io流操作之对象流代码
来源:互联网 发布:海信网络电视多吗 编辑:程序博客网 时间:2024/05/22 00:24
import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.ObjectInputStream;import java.io.ObjectOutputStream;import java.io.Serializable;import org.junit.Test;public class TestObjectInputOutputStream { // 对象的反序列化过程:将硬盘中的文件通过ObjectInputStream转换为相应的对象 @Test public void testObjectInputStream() { ObjectInputStream ois = null; try { ois = new ObjectInputStream(new FileInputStream( "person.txt")); Person p1 = (Person)ois.readObject(); System.out.println(p1); Person p2 = (Person)ois.readObject(); System.out.println(p2); }catch (Exception e) { e.printStackTrace(); }finally{ if(ois != null){ try { ois.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } } // 对象的序列化过程:将内存中的对象通过ObjectOutputStream转换为二进制流,存储在硬盘文件中 @Test public void testObjectOutputStream() { Person p1 = new Person("小米", 23,new Pet("花花")); Person p2 = new Person("红米", 21,new Pet("小花")); ObjectOutputStream oos = null; try { oos = new ObjectOutputStream(new FileOutputStream("person.txt")); oos.writeObject(p1); oos.flush(); oos.writeObject(p2); oos.flush(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { if (oos != null) { try { oos.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } }}/* * 要实现序列化的类: 1.要求此类是可序列化的:实现Serializable接口 * 2.要求类的属性同样的要实现Serializable接口 * 3.提供一个版本号:private static final long serialVersionUID * 4.使用static或transient修饰的属性,不可实现序列化 */class Person implements Serializable { private static final long serialVersionUID = 23425124521L; static String name; transient Integer age; Pet pet; public Person(String name, Integer age,Pet pet) { this.name = name; this.age = age; this.pet = pet; } @Override public String toString() { return "Person [name=" + name + ", age=" + age + ", pet=" + pet + "]"; }}class Pet implements Serializable{ String name; public Pet(String name){ this.name = name; } @Override public String toString() { return "Pet [name=" + name + "]"; }}
0 0
- io流操作之对象流代码
- io流操作之打印流代码
- io流操作之文件重命名代码
- io流操作之文本读写代码
- io流操作之数据流代码
- IO流对象的操作
- java基础之IO流--ObjectOutputStream(专门用于操作对象)
- io流操作之随机访问文件流代码
- io流操作之读写示例代码(二)
- io流操作之读写示例代码(一)
- java基础之IO流--DataOutputStream(专门用于操作Java基本数据类型的IO流对象)
- java IO操作之IO流介绍
- IO流之对象流
- Java之IO流操作
- IO流-对象序列化操作流
- 用IO流操作一个Bitmap对象
- 【java编程】IO流之流操作对象
- “黑马程序员” IO流 3 操作对象
- io流操作之打印流代码
- Java 数组
- 常用的正则表达式
- 【HDU1166】敌兵布阵,线段树练习
- 端口映射,在内网映射外网,利用P2P实现外面跨网穿透nat访问内网80网站和应用
- io流操作之对象流代码
- BZOJ-1067 降雨量 线段树+分类讨论
- jqeru中ui拖动插件怎么获取被拖动对象的id
- [转]傅立叶变换与小波分析的关系
- io流操作之数据流代码
- poj_1833
- C语言
- jascript中常见的几个兼容问题
- Combine Two Tables