package itcast.video0101;
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;
public class I_14_IO_ObjectInputstream_Serializable {
/**
* @param args
* @throws IOException
* @throws FileNotFoundException
*/
public static void main(String[] args) throws Exception {
String path = "f:\\itcastVideo\\PersonSerializable.boject";
// writerObj(path);
readedObj(path);
}
public static void writerObj(String path) throws FileNotFoundException,
IOException {
ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(
path));
oos.writeObject(new Person("zhangsan", 20, "chengdu"));
oos.close();
}
public static void readedObj(String path) throws Exception {
ObjectInputStream ois = new ObjectInputStream(new FileInputStream(path));
Object p = ois.readObject();
System.out.println(p);
}
}
/*
* 只有堆区可以序列华
*/
class Person implements Serializable {
public static final long serialVersionUID = 42L;
private String name;
// transient关键字后,不能够被序列华化
transient int age;
// 静态代码块不能被序列化
static String addriss;
public Person(String name, int age, String addriss) {
this.name = name;
this.age = age;
this.addriss = addriss;
}
@Override
public String toString() {
return name + " : " + age + " : " + addriss;
}
}
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;
public class I_14_IO_ObjectInputstream_Serializable {
/**
* @param args
* @throws IOException
* @throws FileNotFoundException
*/
public static void main(String[] args) throws Exception {
String path = "f:\\itcastVideo\\PersonSerializable.boject";
// writerObj(path);
readedObj(path);
}
public static void writerObj(String path) throws FileNotFoundException,
IOException {
ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(
path));
oos.writeObject(new Person("zhangsan", 20, "chengdu"));
oos.close();
}
public static void readedObj(String path) throws Exception {
ObjectInputStream ois = new ObjectInputStream(new FileInputStream(path));
Object p = ois.readObject();
System.out.println(p);
}
}
/*
* 只有堆区可以序列华
*/
class Person implements Serializable {
public static final long serialVersionUID = 42L;
private String name;
// transient关键字后,不能够被序列华化
transient int age;
// 静态代码块不能被序列化
static String addriss;
public Person(String name, int age, String addriss) {
this.name = name;
this.age = age;
this.addriss = addriss;
}
@Override
public String toString() {
return name + " : " + age + " : " + addriss;
}
}