您的位置:首页 > 编程语言 > Java开发

java学习之IO对象流

2016-01-23 23:13 375 查看
//注意对象类要打标记实现Serializable接口

package com.gh;

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;

public class ObjectStreamDemo {
/**
* 对象序列化
* 把对象写入到文件中
*/
public static void writeobject(){
try {
OutputStream out =new FileOutputStream("1.gh");
ObjectOutputStream oos=new ObjectOutputStream(out);
Person p=new Person("小白", 8);
oos.writeObject(p);
oos.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* 对象的反序列化,
* 从文件中读取对象
*/
public static void readobject(){
try {
InputStream in=new FileInputStream("1.gh");
ObjectInputStream ois=new ObjectInputStream(in);
Person ps=(Person)ois.readObject();
in.close();
System.out.println(ps);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
//writeobject();
readobject();
}
}


package com.gh;

import java.io.Serializable;

public class Person implements Serializable{//标记可以序列化
private String name;
private int age;
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;
}
public Person() {
super();
}
public Person(String name, int age) {
this.name = name;
this.age = age;
}
@Override
public String toString() {
return "Person [name=" + name + ", age=" + age + "]";
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: