พื้นฐานการทำซีเรียลไลซ์
ทำความเข้าใจพื้นฐานการทำซีเรียลไลซ์ใน Java: อินเทอร์เฟซ Serializable, ObjectOutputStream และ ObjectInputStream
พื้นฐานการทำซีเรียลไลซ์ เป็นบทเรียน Java Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 3 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Java Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Java Academy มีบทเรียนทั้งหมด 3 บทเรียน
บทนำ
การทำให้เป็นอนุกรมหมายถึงการบันทึกสถานะของออบเจ็กต์ลงในไฟล์หรือสตรีม แล้วกู้คืนในภายหลัง มักใช้เพื่อการคงอยู่ของข้อมูลหรือการส่งออบเจ็กต์
อินเทอร์เฟซสำหรับการทำให้เป็นอนุกรม
คลาสต้องนำอินเทอร์เฟซสำหรับการทำให้เป็นอนุกรมของ java.io ไปใช้ เพื่ออนุญาตให้ทำออบเจ็กต์ของคลาสนั้นเป็นอนุกรมได้ อินเทอร์เฟซนี้เป็นอินเทอร์เฟซเครื่องหมายที่ไม่มีเมธอด
โค้ด: คลาสที่ทำให้เป็นอนุกรมได้
ในที่นี้ Person นำอินเทอร์เฟซสำหรับการทำให้เป็นอนุกรมไปใช้ ทำให้สามารถเขียนข้อมูลด้วย ObjectOutputStream ได้
import java.io.Serializable;
public class Main {
static class Person implements Serializable {
String name;
int age;
Person(String n, int a) { name = n; age = a; }
public String toString() { return name + "(" + age + ")"; }
}
public static void main(String[] args) {
Person p = new Person("Ada", 30);
System.out.println("Created: " + p);
}
}
ObjectOutputStream
ObjectOutputStreamเขียนออบเจ็กต์ลงในไฟล์ ไฟล์จะมีออบเจ็กต์ในรูปแบบไบนารี
โค้ด: เขียนออบเจ็กต์
โค้ดนี้เขียนออบเจ็กต์ Person ลงในไฟล์ชื่อ person.ser
import java.io.*;
public class Main {
static class Person implements Serializable {
String name; int age;
Person(String n,int a){name=n;age=a;}
}
public static void main(String[] args) {
Person p = new Person("Bob",25);
try (ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream("person.ser"))) {
out.writeObject(p);
System.out.println("Object written");
} catch(IOException e) {
System.out.println("Error: " + e.getMessage());
}
}
}
โค้ด: อ่านออบเจ็กต์
โค้ดนี้อ่านออบเจ็กต์ Person กลับจากไฟล์และพิมพ์ออบเจ็กต์นั้น
import java.io.*;
public class Main {
static class Person implements Serializable {
String name; int age;
Person(String n,int a){name=n;age=a;}
public String toString(){return name+"("+age+")";}
}
public static void main(String[] args) {
try (ObjectInputStream in = new ObjectInputStream(new FileInputStream("person.ser"))) {
Person p = (Person) in.readObject();
System.out.println("Read: " + p);
} catch(Exception e) {
System.out.println("Error: " + e.getMessage());
}
}
}
ตรวจสอบการทำให้เป็นอนุกรม
คำถามตรวจสอบอย่างรวดเร็ว: คลาสต้องทำอะไรจึงจะทำให้เป็นอนุกรมได้
ทบทวน
ทบทวน: การทำให้เป็นอนุกรมจะบันทึกออบเจ็กต์ด้วย ObjectOutputStream และกู้คืนด้วย ObjectInputStream คลาสต้องนำอินเทอร์เฟซสำหรับการทำให้เป็นอนุกรมไปใช้
คำถามที่พบบ่อย
บทเรียน “พื้นฐานการทำซีเรียลไลซ์” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “พื้นฐานการทำซีเรียลไลซ์” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Java Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Java Academy มีบทเรียนทั้งหมด 3 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “พื้นฐานการทำซีเรียลไลซ์”
ทำความเข้าใจพื้นฐานการทำซีเรียลไลซ์ใน Java: อินเทอร์เฟซ Serializable, ObjectOutputStream และ ObjectInputStream คุณปฏิบัติ Java Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Java Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Java Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 3 บทเรียน
บทเรียน “พื้นฐานการทำซีเรียลไลซ์” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Java Academy นี้ได้ไหม
ได้ บทเรียน Java Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- พื้นฐานการทำซีเรียลไลซ์
- การจัดการ CSV/JSON อย่างง่าย
- การเดินดูไฟล์และยูทิลิตี