面向对象基础篇 -- java对象流

对象流

  • 对象的本质 : 他是抽象的概念,是JVM中的一种虚拟的抽象概念
  • 对象流:就是java提供的一种,可以将java对象这种虚拟概念转换为可以物理存储或者传输的真实数据
  • 将虚拟的JVM中的对象转化为字节数据
对象输出流
  • ObjectOutputStream
  • 对象的存储
class Demo{
    public static void main(String[] args){
        String str = "字符串对象";
        ObjectOutputStream oos = null ;
        try{
            oos = new ObjectOutputStream(new FileOutputStream("c:\\info.dat"));
            System.out.println("对象保存成功");
        }catch(IOException e){
            e.printStackTrace();
        }finally{
            if(oos!=null){
                try{
                    oos.close();
                }catch(IOExcepton e){
                    e.printStackTrace();
                }
            }
        }
    }
}
对象输入流
  • ObjectInputStream

  • 对象文件的读取

class Demo{
    public static void main(String[] args){
        ObjectInputStream ois = null ;
        try{
            ois = new ObjectInputStream(new FileInputStream("c:\\info.dat"));
            String msg = (String) ois.readObject();
            //在知道对象类型的前提下,可以进行强转,不知道则不转化
            System.out.println(msg);
        }catch(IOException e){
            e.printStackTrace();
        }finally{
            if(ois!=null){
                try{
                    ois.close();
                }catch(IOExcepton e){
                    e.printStackTrace();
                }
            }
        }
    }
}
对象序列化
  • 只有当一个对象实现可序列化接口时,这个对象才可以转换为对象流,存储和传输
  • 如果不实现该接口,则存储的是错误信息
  • 序列化接口 : Serializable
//对于一个任意的类Demo,实现可序列化接口时,jvm就可以帮我们序列化
class Demo implements Serializable{
    private static final long serialVersionUID = -2440334408791787799L;
    //我们需要提供一个UID,来帮助JVM判断我们的对象是否发生改变
    
}
对象反序列化
  • 将序列化后的字节或者字符数据 重新转换为对象

  • java官方提供的序列化,是将java对象转换为字节数据

  • 如上方所讲的对象输如流例子,也就是一个反序列化

对象持久化
  • 将数据永久的保存
transient 关键字
  • 被这个关键字所修饰的属性,无法持久化。
  • 对象序列化时,该关键字所i修饰的属性,无法被序列化。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值