Pensirilan Java mengubah objek Java Object
menjadi jujukan bait binari byte[]
Penyahsiran Java ialah untuk menukar jujukan bait perduaan byte[]
menjadi objek Java Java Object
strim output bait Objek, menulis strim output objek ke fail (digunakan bersama dengan FileOutputStream)
Instance:
ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream("1.txt")); 或 FileOutputStream fout = new FileOutputStream("1.txt"); ObjectOutputStream out = new ObjectOutputStream(fout);
Selain itu, ObjectOutputStream juga menyediakan kaedah writeObject()
untuk mensiri objek dan menghantarnya ke aliran output.
ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream("1.txt")); out.writeObject(new Test("Sentiment",10)); //对Test类中的构造方法进行传参
Objek aliran input Byte, menyahsiri urutan bait binari dalam fail (digabungkan dengan FileInputStream)
Instance:
rreee< ,🎜> ObjectInputStream juga menyediakan kaedah untuk mengeluarkan objek seterusnya daripada strim dan menyahsiri objek tersebut. Nilai pulangannya ialah Objek, oleh itu, ia perlu ditukar kepada jenis data yang sesuai. readObject()
ObjectInputStream in = new ObjectInputStream(new FileInputStream("1.txt")); 或 FileInputStream fin = new FileInputStream("1.txt"); ObjectInputStream oin = new ObjectInputStream(fin);
ObjectInputStream In = new ObjectInputStream(new FileInputStream("1.txt")); Test o = (Test)In.readObject(); System.out.println(o); //读取后输出实例理解
rreee
UnSerializable.javapackage Sentiment.unserialize.demo01; import java.io.Serializable; public class Test implements Serializable { private String name; private int age; public Test() { } public Test(String name, int age) { this.name = name; this.age = age; } @Override public String toString() { return "Test{" + "name='" + name + '\'' + ", age=" + age + '}'; } }
yang nilainya ialah 1serialVersionUID
package Sentiment.unserialize.demo01; import java.io.*; public class Serializable { public static void main(String[] args) throws IOException { ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream("1.txt")); out.writeObject(new Test("Sentiment",10)); out.close(); } }
sebagai 2—>public static final long serialVersionUID = 2L;, dan ralat akan berlaku dilaporkan semasa menjalankan UnSerializable.java serialVersionUID
dan name
masing-masing di hadapan pembolehubah age
dan transient
dalam Test.java static
package Sentiment.unserialize.demo01; import java.io.FileInputStream; import java.io.IOException; import java.io.ObjectInputStream; public class UnSerializable { public static void main(String[] args) throws IOException, ClassNotFoundException { ObjectInputStream In = new ObjectInputStream(new FileInputStream("1.txt")); Test o = (Test)In.readObject(); System.out.println(o); } }
package Sentiment.unserialize.demo01; import java.io.Serializable; public class Test implements Serializable { public static final long serialVersionUID = 1L; //定义serialVersionUID private String name; private int age; public Test() { } public Test(String name, int age) { this.name = name; this.age = age; } @Override public String toString() { return "Test{" + "name='" + name + '\'' + ", age=" + age + '}'; } }
Atas ialah kandungan terperinci Bagaimana untuk menggunakan pensirilan dan penyahserikatan Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!