java IO之ObjectInputStream和ObjectOutputStream
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;
}
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;
}