• 转换流,序列化和反序列化,transient关键字笔记


    转换流 指定编码表
    OutputStreamWrite   字符流向字节的桥梁  -编码
        使用步骤:
    1.创建OutputStreamWriter对象,构造方法中传递字节输出流和指定的编码表名称
    2.使用OutputStreamWriter对象中的方法Write,把字符转换为字节存储缓冲区中(编码)
    3.使用OutputStreamWriter对象中的方法flush ,把内存缓冲区中的字节刷新到文件中(使用字节流写字节的过程)
    4.释放资源
        
    InputStreamReader    字节流向字符的桥梁  -解码
        使用步骤:
    1.创建InputstreamReader对象,构造方法中传递字节输入流和指定的编码表名称
    2.使用InputStreamReader对象中的方法read读取文件
    3.释放资源
    注意事项:
    构造方法中指定的编码表名称要和文件的编码相同,否则会发生乱码
        

    ObjectOutputStream 序列化流  ——对象的序列化流 写对象  
        writeObject();
        构造方法:
    ObjectOutputStream(OutputStream out)创建写入指定OutputStream 的 ObjectOutputStream。参数:
    OutputStream out:字节输出流
    特有的成员方法:
    void write0bject(Object obj)将指定的对象写入ObjectOutputStreamo
        使用步骤:
    1.创建ObjectOutputStream对象,构造方法中传递字节输出流
    2.使用ObjectOutputStream对象中的方法writeObject,把对象写入到文件中
    3.释放资源
        
    ObjectInputStream 反序列化流  ——读对象
        readObject();
        使用步骤:
    1.创建ObjectInputStream对象,构造方法中传递字节输入流
    2.使用ObjectInputStream对象中的方法read0bject读取保存对象的文件
    3.释放资源
    4.使用读取出来的对象(打印)
    readObject方法声明抛出了classNotFoundException(class文件找不到异常)当不存在对象的class文件时抛出此异常
    反序列化的前提:
    1.类必须实现serializable2.必须存在类对应的cLass文件
        

    序列化和反序列化的时候,会抛出NotSerializableException没有序列化异常
    类通过实现java.io.Serializable接口以启用其序列化功能。未实现此接口的类将无法使其任何状态序列化或反序列化。
    Serializable接口也叫标记型接口
    要进行序列化和反序列化的类必须实现Serializable接口,就会给类添加一个标记
    当我们进行序列化和反序列化的时候,就会检测类上是否有这个标记
    有:就可以序列化和反序列化
    没有:就会抛出 NotSerializabLeException异常
    去市场买肉-->肉上有一个蓝色章(检测合格)-->放心购买-->买回来怎么吃随意


    static关键字:静态关键字
    静态优先于非静态加载到内存中((静态优先于对象进入到内存中)被static修饰的成员变量不能被序列化的,
    序列化的都是对象private static int age;

    transient关键字:瞬态关键字
    被transient修饰成员变量,不能被序列化

     

  • 相关阅读:
    软件设计师——信息安全知识
    微服务组件之Hystrix
    CentOS即将停服,国产化系统替代参考
    软件测试W模型
    JAVA-GUI工具的编写-----简易框架篇
    vue-ant design示例大全——按钮本地css/js资源
    车联网仿真工具Veins学习1
    智能神经网络在音调识别中的应用(Matlab代码实现)
    使用docker 搭建 zerotier服务器 实现异地组网
    深入了解JUC并发(一)什么是JUC
  • 原文地址:https://blog.csdn.net/qq_62917168/article/details/126472776