Java ObjectOutputStream的使用

package com.qiqiao.test2;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;

/**
 * 对象<=>文件转换类
 * @author Administrator
 *
 */
public class ObjectFileConvert {

    public static void object2File(Object obj,File outFile){
        ObjectOutputStream oos = null;
        FileOutputStream fos = null;
        try {
            if(!outFile.exists()){
                outFile.createNewFile();
            }
            fos = new FileOutputStream(outFile);
            oos = new ObjectOutputStream(fos);

            oos.writeObject(obj);
        }catch (Exception e) {
            e.printStackTrace();
        }finally{
            if (oos != null) {
                try {
                    oos.close();
                } catch (Exception e2) {
                    e2.printStackTrace();
                }
            }
            if(fos != null){
                try {
                    fos.close();
                } catch (Exception e2) {
                    e2.printStackTrace();
                }
            }
        }
    }

    public static Object file2Object(File inFile){
        FileInputStream fis = null;
        ObjectInputStream ois = null;
        try {
            fis = new FileInputStream(inFile);
            ois = new ObjectInputStream(fis);

            return ois.readObject();
        } catch (Exception e) {
            // TODO: handle exception
        }finally{
            if(ois!= null){
                try {
                    ois.close();
                } catch (Exception e2) {
                    e2.printStackTrace();
                }
            }
            if (fis != null) {
                try {
                    fis.close();
                } catch (Exception e2) {
                    // TODO: handle exception
                    e2.printStackTrace();
                }
            }
        }
        return null;
    }
}
时间: 2024-10-10 05:17:16

Java ObjectOutputStream的使用的相关文章

java ObjectOutputStream

import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.io.Serializable; class Employee { private String name; Employee(String name)

序列化之Java默认序列化技术(ObjectOutputStream与ObjectInputStream)

Java默认序列化技术 主要是通过 对象输出流java.io.ObjectOutputStream 对象输入流java.io.ObjectInputStream 来实现的 package com.xingej.ser; public interface ISerializer { // 序列化,将obj序列化成字节数组 public <T> byte[] serialize(T obj); // 反序列化,将字节数组,反序列化为T public <T> T deserialize(

我的Java开发学习之旅------&gt;Java使用ObjectOutputStream和ObjectInputStream序列号对象相关问题解决方法

今天用ObjectOutputStream和ObjectInputStream进行对象序列化话操作的时候,报了java.io.EOFException异常. 异常代码如下: java.io.EOFException at java.io.ObjectInputStream$BlockDataInputStream.peekByte(ObjectInputStream.java:2554) at java.io.ObjectInputStream.readObject0(ObjectInputSt

JAVA对象序列化(Serializable、ObjectOutputStream、ObjectInputStream、 transient)

1)对象序列化是把一个对象变为二进制的数据流的一种方法.对象序列化后可以方便的实现对象的传输或存储. 2)如果一个类的对象想被序列化,则对象所在的类必须实现Serialilzable接口.此接口中没有定义任何方法,所以此借口是一个标识接口,表示一个类具备被序列化的能力. 3)对象被序列化后变为二进制,可以经过二进制数据流进行传输.此时必须依靠对象输出流(ObjectOutputStream)和对象输入流(ObjectInputStream). 4)在序列化中,只有属性被序列化.因为每个对象都具有

Java IO: 序列化与ObjectInputStream、ObjectOutputStream

作者:Jakob Jenkov  译者: 李璟([email protected]) 本小节会简要概括Java IO中的序列化以及涉及到的流,主要包括ObjectInputStream和ObjectOutputStream. Serializable 原文链接 如果你希望类能够序列化和反序列化,必须实现Serializable接口,就像所展示的ObjectInputStream和ObjectOutputStream例子一样. 对象序列化本身就是一个主题.Java IO系列教程主要关注流.read

(JAVA)从零开始之--对象输入输出流ObjectInputStream、ObjectOutputStream(对象序列化与反序列化)

对象的输入输出流 : 主要的作用是用于写入对象信息与读取对象信息. 对象信息一旦写到文件上那么对象的信息就可以做到持久化了 对象的输出流: ObjectOutputStream 对象的输入流:  ObjectInputStream 使用: 对象的输出流将指定的对象写入到文件的过程,就是将对象序列化的过程,对象的输入流将指定序列化好的文件读出来的过程,就是对象反序列化的过程.既然对象的输出流将对象写入到文件中称之为对象的序列化,那么可想而知对象所对应的class必须要实现Serializable接

java io系列05之 ObjectInputStream 和 ObjectOutputStream

本章,我们学习ObjectInputStream 和 ObjectOutputStream ObjectInputStream 和 ObjectOutputStream 介绍 ObjectInputStream 和 ObjectOutputStream 的作用是,对基本数据和对象进行序列化操作支持.创 建“文件输出流”对应的ObjectOutputStream对象,该ObjectOutputStream对象能提供对“基本数据或对象”的持久存储: 当我们需要读取这些存储的“基本数据或对象”时,可以

Java 对象流(输入-输出)objectoutputstream序列化报错

报错:java.io.notserializableexception 解决方法:添加下面代码实现 对象类 1 package com.etc._07ObjectDemo; 2 3 import java.io.Serializable; 4 5 public class Person implements Serializable { 6 private int id; 7 private String name; 8 private String sex; 9 public int getI

Java之IO(七)ObjectInputStream和ObjectOutputStream

转载请注明源出处:http://www.cnblogs.com/lighten/p/7003536.html 1.前言 本章介绍Java字节流中重要的成员,对象流ObjectInputStream和ObjectOutputStream.之前的DataInputStream和DataOutputStream只是对一些基本数据类型进行了解析和储存,但是在Java中更常见的是一个对象实例,一个对象实例是十分复杂的,如何保存一个对象呢?这个就是对象流的作用了.对象流最终是要有归属地的,通常也就是文件流.