• 对象字节输出流


    序列化对象注意事项

    必须实现序列化接口

    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. }

  • 相关阅读:
    初学Qt(Day04)
    java: 程序包XXX.XXX.XXX不存在解决方法
    AudioLM: 音频生成的革命性模型
    SK 简化流行编程语言对 生成式AI 应用开发的支持
    (附源码)spring boot大学毕业设计管理系统 毕业设计 030945
    jenkins 部署 vue 项目
    springboot启动流程分析
    css3文字环绕旋转
    GO 项目依赖管理:go module总结
    electron使用typescript
  • 原文地址:https://blog.csdn.net/m0_46290090/article/details/133747164