• 对象字节输出流


    序列化对象注意事项

    必须实现序列化接口

    Serializable

    对象字节输出流 (写入)

    1. package ObjectOutputstreamTeast;
    2. import java.io.FileOutputStream;
    3. import java.io.ObjectOutput;
    4. import java.io.ObjectOutputStream;
    5. public class ObjectOS {
    6. // 目标:掌握对象字节输出流的使用 序列化对象
    7. public static void main(String[] args) {
    8. try ( //创建字节对象
    9. ObjectOutputStream oos=new ObjectOutputStream(new FileOutputStream("src/zfile1/mamat002.txt"));
    10. ){
    11. //创建对象
    12. OBuser u=new OBuser("admin","mamat",26,"6666888zx");
    13. oos.writeObject(u);
    14. System.out.println("序列化成功");
    15. } catch (Exception e) {
    16. e.printStackTrace();
    17. }
    18. }
    19. }
    1. package ObjectOutputstreamTeast;
    2. import java.io.Serializable;
    3. public class OBuser implements Serializable {
    4. private String loginName;
    5. private String userName;
    6. private int age;
    7. private transient String password;
    8. //加上 transient 这个成员不参加序列化
    9. public OBuser() {
    10. }
    11. public OBuser(String loginName, String userName, int age, String password) {
    12. this.loginName = loginName;
    13. this.userName = userName;
    14. this.age = age;
    15. this.password = password;
    16. }
    17. public String getLoginName() {
    18. return loginName;
    19. }
    20. public void setLoginName(String loginName) {
    21. this.loginName = loginName;
    22. }
    23. public String getUserName() {
    24. return userName;
    25. }
    26. public void setUserName(String userName) {
    27. this.userName = userName;
    28. }
    29. public int getAge() {
    30. return age;
    31. }
    32. public void setAge(int age) {
    33. this.age = age;
    34. }
    35. public String getPassword() {
    36. return password;
    37. }
    38. public void setPassword(String password) {
    39. this.password = password;
    40. }
    41. @Override
    42. public String toString() {
    43. return "OBuser{" +
    44. "loginName='" + loginName + '\'' +
    45. ", userName='" + userName + '\'' +
    46. ", age=" + age +
    47. ", password='" + password + '\'' +
    48. '}';
    49. }
    50. }

    2:对象字节输入流 (读取)

    读的时候不用出现密码那么 加上 transient 这个成员不参序列化

     

    1. package ObjectOutputstreamTeast;
    2. import java.io.FileInputStream;
    3. import java.io.ObjectInputStream;
    4. public class Test {
    5. public static void main(String[] args) {
    6. //创建一个对象字符输入管道,包装 低级的输入流与源文件接通
    7. try ( ObjectInputStream ois= new ObjectInputStream(new FileInputStream("src/zfile1/mamat002.txt"));
    8. ){
    9. System.out.println((OBuser)(ois.readObject()));
    10. } catch (Exception e) {
    11. e.printStackTrace();
    12. }
    13. }
    14. }

  • 相关阅读:
    加密算法发展简介
    微服务拆分的思考
    爬虫异常处理实战:应对请求频率限制和数据格式异常
    scrapy简单实现一个项目
    Python入门,从19个语法开始!
    正点原子lwIP学习笔记——MQTT协议
    第三章:栈/队列 重点题
    数据分析-Pandas数据探查初步圆饼图
    Java数据输入
    Web漏洞之XXE初探
  • 原文地址:https://blog.csdn.net/m0_46290090/article/details/133747164