Rumah >Java >javaTutorial >Apakah proses siri objek dalam Java?
Dalam Java, pensirilan objek menukarkan objek kepada strim bait, dan penyahsiran memulihkan strim bait menjadi objek. Sirialisasi memerlukan pelaksanaan antara muka Serializable, menyediakan objek dan menggunakan ObjectOutputStream untuk menulis data menggunakan ObjectInputStream untuk membaca data dan membina semula objek. Contohnya, kod itu mensirikan objek Orang dengan sifat nama dan umur dan menyahsirikannya daripada fail untuk mencetak maklumat.
Pensirian ialah proses menukar objek kepada aliran bait dan menyimpannya dalam fail atau pada rangkaian. Penyahserialisasian ialah proses terbalik untuk menukar aliran bait yang disimpan kembali ke objek asal. Antara muka teras untuk penyiaran objek dalam Java ialah Serializable
. Serializable
。
1. 实现 Serializable
接口: 类必须实现 Serializable
接口才能进行序列化。
2. 准备对象: 要序列化的对象必须实现 writeObject
方法,该方法将对象的字段写入输出流。如果对象包含其他可序列化的对象,则 writeObject
方法也需要调用这些对象的 writeObject
方法。
3. 创建 ObjectOutputStream
: 使用 ObjectOutputStream
将对象写入输出流。
4. 编写对象: 调用 writeObject
方法将对象写入输出流。
1. 创建 ObjectInputStream
: 使用 ObjectInputStream
从输入流读取对象。
2. 读取对象: 调用 readObject
方法从输入流读取对象。如果对象包含其他可序列化的对象,则 readObject
方法也会调用这些对象的 readObject
1 Laksanakan antara muka Serializable
:
Serializable
untuk diserikan.
2. Sediakan objek:
Objek yang akan disiri mesti melaksanakan kaedahwriteObject
, yang menulis medan objek ke aliran output. Jika objek mengandungi objek boleh bersiri lain, kaedah writeObject
perlu memanggil kaedah writeObject
objek tersebut juga. 🎜🎜🎜3 Cipta ObjectOutputStream
: 🎜 Gunakan ObjectOutputStream
untuk menulis objek ke strim output. 🎜🎜🎜4. Tulis objek: 🎜 Panggil kaedah writeObject
untuk menulis objek ke aliran output. 🎜🎜Proses penyahserialisasian🎜🎜🎜1 Cipta ObjectInputStream
untuk membaca objek daripada aliran input. 🎜🎜🎜2 Baca objek: 🎜 Panggil kaedah readObject
untuk membaca objek daripada aliran input. Jika objek mengandungi objek boleh bersiri lain, kaedah readObject
turut memanggil kaedah readObject
objek tersebut. 🎜🎜🎜3. Bina semula objek: 🎜 Selepas membaca semua data daripada aliran input, objek akan dibina semula menggunakan mekanisme pantulan. 🎜🎜Kes Praktikal🎜🎜Contoh kod berikut menunjukkan cara mensiri dan menyahsiri objek dalam Java: 🎜import java.io.*; public class Person implements Serializable { private String name; private int age; public Person(String name, int age) { this.name = name; this.age = age; } @Override public void writeObject(ObjectOutputStream out) throws IOException { out.writeObject(name); out.writeInt(age); } @Override public void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException { name = (String) in.readObject(); age = in.readInt(); } public static void main(String[] args) { try (ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream("person.ser"))) { Person person = new Person("John", 30); out.writeObject(person); } catch (IOException e) { e.printStackTrace(); } try (ObjectInputStream in = new ObjectInputStream(new FileInputStream("person.ser"))) { Person person = (Person) in.readObject(); System.out.println(person.name + ", " + person.age); } catch (IOException | ClassNotFoundException e) { e.printStackTrace(); } } }
Atas ialah kandungan terperinci Apakah proses siri objek dalam Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!