对象流与序列化
/**
* Serializable实现序列化,该接口无实际意义
*
*/
package test09;
import java.io.Serializable;
public class Dog implements Serializable {
public String color;
public String name;
public int age;
public Dog() {
super();
}
public Dog(String color, String name, int age) {
super();
this.color = color;
this.name = name;
this.age = age;
}
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "Dog [color=" + color + ", name=" + name + ", age=" + age + "]";
}
}
package test09;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.OutputStream;
/**
* 对象流与序列化
* ObjectOutputStream
* ObjectInputStream
*
* @author wuzl
*
*/
public class test09 {
//反序列化,读取
public static void rObject() {
File file = new File("C:\\Users\\25316\\Desktop\\wu\\dog.txt");
try {
InputStream in = new FileInputStream(file);
ObjectInputStream ois = new ObjectInputStream(in);
Dog dog = (Dog) ois.readObject();
ois.close();
System.out.println(dog);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//序列化,输出
public static void wObject() {
Dog dog = new Dog("Red", "dahuang", 3);
File file = new File("C:\\Users\\25316\\Desktop\\wu\\dog.txt");
try {
OutputStream out = new FileOutputStream(file);
ObjectOutputStream oos = new ObjectOutputStream(out);
oos.writeObject(dog);
oos.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
wObject();
rObject();
}
}