加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

java中讲讲ObjectInputStream的用法,举例?

(2019-11-27 11:33:55)
标签:

java面试题

马克java社区

java

objectinputstream

马克-to-win

分类: java

2.5 ObjectInputStream的用法 
马克-to-win:ObjectInputStream顾名思义就是可以从流中读入一个用户自定义的对象。一定要注意ObjectOutputStream与ObjectInputStream必须配合使用,且按同样的顺序。

例:2.5.1

import java.io.Serializable;
//类必须实现Serializable接口才可以被序列化, otherwise report error of java.io.NotSerializableException: J10.Employee
public class Employee implements Serializable {
    private String name; 
    private int id;

    public Employee(String name,int id){
        this.name = name;
        this.id = id;
    }

    public void showInfo(){
        System.out.println("name:" + name + "\tid:" + id );
    }
}


例:2.5.2

import java.io.*;
public class TestMark_to_win {
    public static void main(String[] args) throws IOException{
            FileOutputStream fos = new FileOutputStream("c://data.txt");
            ObjectOutputStream oos = new ObjectOutputStream(fos);
            oos.writeObject(new Employee("张三",1));
            oos.writeObject(new Employee("李四",2));
            oos.close();
    }
}


例:2.5.3

import java.io.*;
public class TestMark_to_win {
    public static void main(String[] args) throws IOException, ClassNotFoundException{
            FileInputStream fis = new FileInputStream("c://data.txt");
            ObjectInputStream ois = new ObjectInputStream(fis);
            Employee e1 = (Employee)ois.readObject();
            Employee e2 = (Employee)ois.readObject();
                
            e1.showInfo();
            e2.showInfo();
            ois.close();
    }
}

更多请见:http://www.mark-to-win.com/tutorial/java_8_UsageOfObjectInputStream.html

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有