การทำให้เป็นอนุกรมโดยทั่วไปจะใช้ในสถานการณ์ต่อไปนี้:
1. บันทึกวัตถุอย่างถาวรและบันทึกวัตถุไปยังไฟล์ท้องถิ่นผ่านสตรีมไบต์ที่เป็นอนุกรม
2. ถ่ายโอนวัตถุบนเครือข่ายผ่านการทำให้เป็นอนุกรม
3. ส่งผ่านวัตถุระหว่างกระบวนการผ่านการทำให้เป็นอนุกรม
การคัดลอกรหัสมีดังนี้:
นำเข้า java.io.serializable;
นำเข้า Java.io.FileOutputStream;
นำเข้า java.io.ioException;
นำเข้า Java.io.ObjectOutputStream;
คลาสสาธารณะ javaserializable_fun {
-
* java.io.serializable อินเตอร์เฟสคลาสสามารถถูกทำให้เป็นอนุกรมหากใช้ข้อแก้ตัวของ serializable
* Java.io.externalizable Interface โดยใช้ Java Serialization และ Deserialization เครื่องมืองานจำนวนมากของการจัดเก็บและกู้คืนวัตถุสามารถทำให้เสร็จสมบูรณ์โดยอัตโนมัติ
* อินเตอร์เฟส java.io.ObjectOutput, การทำให้เป็นอนุกรมถูกส่งผ่านมรดกอินเตอร์เฟส dataOutput และกำหนดวิธีการบางอย่างซึ่งรองรับการทำให้เป็นอนุกรมของวัตถุ;
* ไฮไลต์: ในคลาสนี้วิธีการเขียน () เป็นวิธีที่สำคัญที่สุดที่ใช้สำหรับการทำให้เป็นอนุกรมวัตถุ
* คลาส java.io.ObjectOutputStream รับผิดชอบในการเขียนวัตถุลงในสตรีมวิธีการสร้าง: ObjectOutputStream (OutputStream ออก);
* java.io.ObjectInput อินเตอร์เฟส, serialize ใน สืบทอดอินเตอร์เฟส datainput และกำหนดวิธีการบางอย่างมันรองรับการทำให้เป็นอนุกรมของวัตถุ
* คลาส ObjectInputStream รับผิดชอบในการอ่านวัตถุลงในสตรีมวิธีการสร้าง: ObjectInputStream (อินพุตสตรีมออก);
-
โมฆะคงที่สาธารณะหลัก (สตริง [] args) {
พยายาม
-
// สร้างวัตถุ FileOutputStream
fileOutputStream f = ใหม่ fileOutputStream ("C: A.txt");
// สร้างวัตถุ ObjectOutputStream
ObjectOutputStream out = new ObjectOutputStream (F);
ลูกค้าลูกค้า = ลูกค้าใหม่ ("BJ", 50);
// serialize โดยใช้วิธีการเขียน () ของวัตถุ ObjectOutputStream
out.writeObject (ลูกค้า);
// ปิดวัตถุ ObjectOutputStream
out.close ();
// ปิดวัตถุ FileOutputStream
f.close ();
System.out.println ("การทำให้เป็นอนุกรมเสร็จสมบูรณ์!");
-
จับ (ioexception e)
-
E.GetStackTrace ();
-
-
-
ลูกค้าในชั้นเรียนใช้ Serializable
-
ส่วนตัวคงที่สุดท้าย Long SerialVersionUid = 1L;
ชื่อสตริงส่วนตัว;
อายุ int ส่วนตัว;
สตริงสาธารณะ getName ()
-
ชื่อคืน;
-
สาธารณะ int getage ()
-
อายุกลับ;
-
ลูกค้าสาธารณะ (ชื่อสตริงอายุ int)
-
this.name = ชื่อ;
this.age = อายุ;
-
สตริงสาธารณะ toString ()
-
return "name ="+name+", อายุ ="+อายุ;
-
-