对象流可以将Java 对象转换成二进制写入磁盘,这个过程通常叫做序列化,并且还可以从磁盘读出完整的Java 对象,而这个过程叫做反序列化.序列化是为了解决在对对象流进行读写操作时所引发的问题,最主要的用处就是在传递,和保存对象(object)的时候,保证对象的完整性和可传递性。- import java.io.Serializable;
- public class User implements Serializable
- {
- String name;
- User(String name){
- this.name = name;
- }
-
- public String toString(){
- return "User[name="+name+"]";
- }
- }
复制代码- import java.io.*;
- public class ObjectOutputStreamTest01
- {
- public static void main(String[] args) throws Exception{
-
- //1.创建java对象
- User u1 = new User("刘德华");
- //2.创建输出流(序列化流) (JVM中的java对象状态保存到硬盘中.)
- ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("temp06"));
-
- //3.写
- oos.writeObject(u1);
- //刷新
- oos.flush();
- //关闭
- oos.close();
- }
- }
复制代码- import java.io.*;
- public class ObjectInputStreamTest01
- {
- public static void main(String[] args) throws Exception{
-
- //1.创建反序列化流
- ObjectInputStream ois = new ObjectInputStream(new FileInputStream("temp06"));
-
- //2.反序列化
- Object o = ois.readObject();
- System.out.println(o); //User[name=刘德华]
- //关闭
- ois.close();
- }
- }
复制代码 |