21xrx.com
2024-11-22 06:30:31 Friday
登录
文章检索 我的文章 写文章
Java序列化:如何使用Serializable接口
2023-06-14 20:54:37 深夜i     --     --
Java Serializable接口 序列化

通过实现Java的Serializable接口,我可以将对象转换成字节流并在网络上进行传输或者存储在本地。这个过程也被称为“序列化”。在Java中,所有实现了序列化接口的类都可以通过序列化机制进行传输和存储。

下面是一个使用Serializable接口的例子:


import java.io.*;

public class MyClass implements Serializable {

  private String name;

  private int age;

  

  public void setName(String name)

    this.name = name;

  

  

  public void setAge(int age)

    this.age = age;

  

  

  public String getName()

    return name;

  

  

  public int getAge()

    return age;

  

}

public class SerializationExample {

  public static void main(String[] args) {

    MyClass obj = new MyClass();

    obj.setName("Jack");

    obj.setAge(30);

    

    try {

      FileOutputStream fos = new FileOutputStream("file.txt");

      ObjectOutputStream oos = new ObjectOutputStream(fos);

      oos.writeObject(obj);

      oos.close();

    } catch (IOException e) {

      e.printStackTrace();

    }

    

    try {

      FileInputStream fis = new FileInputStream("file.txt");

      ObjectInputStream ois = new ObjectInputStream(fis);

      MyClass newObj = (MyClass) ois.readObject();

      ois.close();

      System.out.println("Name: " + newObj.getName());

      System.out.println("Age: " + newObj.getAge());

    } catch (IOException | ClassNotFoundException e) {

      e.printStackTrace();

    }

  }

}

在上面的代码中,我创建了一个MyClass类,并实现了Serializable接口。然后,我创建了一个MyClass对象,将其写入到文件“file.txt”中。接着,我再次读取这个对象,并打印出它的name和age属性。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复