java IO之ObjectInputStream和ObjectOutputStream

本秂侑毒 提交于 2019-12-26 02:16:25
package com.io.test;

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;

/**
 * 直接把object写入或者读出
 * 
 * 
@author chengjj
 * 
 
*/
public class TestObjectStream {
    @Test
    public void testObjectStream() {
        try {
            T t = new T();
            t.k = 8;
            FileOutputStream fos = new FileOutputStream("E:/4.txt");
            ObjectOutputStream oos = new ObjectOutputStream(fos);
            oos.writeObject(t);
            oos.flush();
            oos.close();

            FileInputStream fis = new FileInputStream("E:/4.txt");
            ObjectInputStream ois = new ObjectInputStream(fis);
            T otherT = (T) ois.readObject();
            System.out.println(otherT.i);
            System.out.println(otherT.h);
            System.out.println(otherT.d);
            System.out.println(otherT.k);
            ois.close();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
    }

}

/**
 * 标记性接口,标记给编译器看
 * transient 修饰的成员变量在序列化的时候不予考虑
 * 
@author chengjj
 * 
 
*/
class T implements Serializable {
    int i = 10, h = 9;
    double d = 2.3;
    transient int k = 15;
     
}
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!