วิธีทำให้เป็นอันดับวัตถุใน Java: 8 ขั้นตอน (พร้อมรูปภาพ)

สารบัญ:

วิธีทำให้เป็นอันดับวัตถุใน Java: 8 ขั้นตอน (พร้อมรูปภาพ)
วิธีทำให้เป็นอันดับวัตถุใน Java: 8 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: วิธีทำให้เป็นอันดับวัตถุใน Java: 8 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: วิธีทำให้เป็นอันดับวัตถุใน Java: 8 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: EP 10 การใช้งานโปรแกรม Inkscape เบื้องต้น เพื่อแปลงไฟล์รูปภาพเป็นเส้นเวกเตอร์ 2024, เมษายน
Anonim

เมื่อคุณทำให้อ็อบเจ็กต์เป็นอนุกรมใน Java คุณจะแปลงข้อมูลเป็นไบต์สตรีม แล้วแปลงกลับเป็นสำเนาของข้อมูลต้นฉบับในภายหลัง หากฟังดูสับสน ให้นึกถึงการทำให้เป็นอนุกรมในเงื่อนไขต่อไปนี้ คุณกำลังทำงานกับเอกสารแล้วบันทึกลงในฮาร์ดไดรฟ์ของคุณ ในลักษณะของการพูด กำลังจัดลำดับข้อมูลเพื่อให้คุณสามารถเรียกสำเนานั้นในภายหลัง การทำให้เป็นอนุกรมทำให้การถ่ายโอนข้อมูลบนเครือข่ายง่ายขึ้นและมีประสิทธิภาพมากขึ้น

สิ่งสำคัญคือคุณต้องเข้าใจพื้นฐานของ Java ก่อนทำซีเรียลไลซ์อ็อบเจ็กต์ หากคุณเคยใช้ภาษาการเขียนโปรแกรม เช่น Pascal และ C เวอร์ชันเก่า คุณจะรู้ว่าหากไม่มีการทำให้วัตถุเป็นอนุกรม โปรแกรมเมอร์จะต้องสร้างไฟล์ข้อความ I/O แยกต่างหากเพื่อจัดเก็บและโหลดข้อมูล การทำให้เป็นอนุกรมอ็อบเจ็กต์ใน Java ข้ามการสร้างไฟล์ข้อความนี้เพื่อเก็บข้อมูล ประหยัดเวลาและค่าใช้จ่ายในการเขียนโปรแกรม บทความต่อไปนี้มีขั้นตอนในการทำให้อ็อบเจ็กต์เป็นอนุกรมใน Java โค้ดตัวอย่างในบทความนี้ใช้โดยได้รับความอนุเคราะห์จาก Java Developers Almanac 1.4

ขั้นตอน

ทำให้เป็นอนุกรมอ็อบเจ็กต์ใน Java ขั้นตอนที่ 1
ทำให้เป็นอนุกรมอ็อบเจ็กต์ใน Java ขั้นตอนที่ 1

ขั้นตอนที่ 1. เปิดอ็อบเจ็กต์การเข้ารหัส Java ที่ต้องการซีเรียลไลซ์เซชันหรือสร้างใหม่ตั้งแต่ต้น

ทำให้เป็นอนุกรมอ็อบเจ็กต์ใน Java ขั้นตอนที่ 2
ทำให้เป็นอนุกรมอ็อบเจ็กต์ใน Java ขั้นตอนที่ 2

ขั้นตอนที่ 2 เลือกวัตถุใน Java ที่คุณต้องการทำให้เป็นอนุกรม

ในตัวอย่างนี้ เราจะเรียกวัตถุนั้นว่า "MyObject"

ทำให้เป็นอนุกรมอ็อบเจ็กต์ใน Java ขั้นตอนที่ 3
ทำให้เป็นอนุกรมอ็อบเจ็กต์ใน Java ขั้นตอนที่ 3

ขั้นตอนที่ 3 เปิดใช้งานการทำให้เป็นอนุกรมอ็อบเจ็กต์ใน Java โดยสร้างคลาส MyObject เพื่อใช้งานอินเตอร์เฟส java.io. Serialize

เพียงเพิ่มบรรทัดโค้ดต่อไปนี้ที่จุดเริ่มต้นของโค้ด แทนที่ "คลาสสาธารณะ MyObject" line.public คลาส MyObject ใช้ java.io. Serializable

ทำให้เป็นอนุกรมอ็อบเจ็กต์ใน Java ขั้นตอนที่ 4
ทำให้เป็นอนุกรมอ็อบเจ็กต์ใน Java ขั้นตอนที่ 4

ขั้นตอนที่ 4 ตอนนี้อ็อบเจ็กต์ของคุณเป็นแบบซีเรียลไลซ์ได้ ซึ่งหมายความว่าสามารถเขียนได้โดยเอาต์พุตสตรีม เช่นนี้

  • บรรทัดโค้ดต่อไปนี้แสดงวิธีการเขียน MyObject (หรืออ็อบเจ็กต์ที่ทำให้เป็นอนุกรม) ลงในไฟล์หรือดิสก์

    ลอง{

    // จัดลำดับวัตถุข้อมูลให้เป็นไฟล์

    ObjectOutputStream out = ObjectOutputStream ใหม่ (FileOutputStream ใหม่ ("MyObject.ser"));

    out.writeObject(วัตถุ);

    out.close();

    // จัดลำดับวัตถุข้อมูลให้เป็นอาร์เรย์ไบต์

    ByteArrayOutputStream bos = ใหม่ ByteArrayOutputStream();

    out = ใหม่ ObjectOutputStream(bos);

    out.writeObject(วัตถุ);

    out.close();

    // รับไบต์ของวัตถุต่อเนื่อง

    ไบต์ buf = bos.toByteArray();

    } จับ (IOException จ) {

    }

ทำให้เป็นอนุกรมอ็อบเจ็กต์ใน Java ขั้นตอนที่ 5
ทำให้เป็นอนุกรมอ็อบเจ็กต์ใน Java ขั้นตอนที่ 5

ขั้นตอนที่ 5. สามารถอ่านได้ดังนี้:

ลอง { ประตู FileInputStream = ใหม่ FileInputStream ("name_of_file.sav"); ObjectInputStream reader = ใหม่ ObjectInputStream(ประตู); MyObject x = MyObject ใหม่ (); x = (MyObject) reader.nextObject();}จับ (IOException e){ e.printStackTrace();}

ทำให้เป็นอนุกรมอ็อบเจ็กต์ใน Java ขั้นตอนที่ 6
ทำให้เป็นอนุกรมอ็อบเจ็กต์ใน Java ขั้นตอนที่ 6
ทำให้เป็นอนุกรมอ็อบเจ็กต์ใน Java ขั้นตอนที่7
ทำให้เป็นอนุกรมอ็อบเจ็กต์ใน Java ขั้นตอนที่7

ขั้นตอนที่ 6. รันโค้ดอ็อบเจ็กต์ซีเรียลไลซ์ภายในโปรแกรม Java เพื่อให้แน่ใจว่าทำงานได้อย่างมีประสิทธิภาพ (ทางเลือก)

เรียกใช้ไฟล์. Jar Java ขั้นตอนที่ 9
เรียกใช้ไฟล์. Jar Java ขั้นตอนที่ 9

ขั้นตอนที่ 7 บันทึกและปิดวัตถุต่อเนื่องใน Java

เคล็ดลับ

  • การปรับปรุงการทำให้เป็นอนุกรมใน Java SE Development Kit 6 ช่วยให้คุณสามารถใช้ ObjectStreamClass ค้นหาวิธีการใดๆ เพื่อจัดการกับอ็อบเจ็กต์คลาสที่ไม่สามารถทำให้ซีเรียลไลซ์ได้
  • เพื่อปรับปรุงเวลาในการอ่านและเขียนในแผนผังอ็อบเจ็กต์ขนาดใหญ่ ให้ใช้คีย์เวิร์ด "ชั่วคราว" สำหรับตัวแปรอินสแตนซ์ที่ไม่ต้องการการทำให้เป็นอนุกรม สิ่งนี้จะเพิ่มประสิทธิภาพโดยที่คุณไม่ต้องอ่านและเขียนข้อมูลที่ไม่จำเป็นในกระบวนการซีเรียลไลซ์เซชั่นอีกต่อไป

คำเตือน

  • Java ออกเวอร์ชันใหม่ของชุดเครื่องมือสำหรับนักพัฒนาซอฟต์แวร์เกือบทุกปี เวอร์ชันใหม่รวมถึงการอัปเกรดและการเปลี่ยนแปลงวิธีที่คุณสามารถทำให้ Object เป็นอนุกรมใน Java ดังนั้น การตรวจสอบการเปลี่ยนแปลงในเวอร์ชันที่คุณใช้จึงเป็นสิ่งสำคัญ
  • เมื่อทำให้เป็นอนุกรมอ็อบเจ็กต์ คุณจะไม่สามารถเข้ารหัสสตรีมข้อมูลได้ ดังนั้น คุณจะต้องพึ่งพาแอปพลิเคชันอื่นหรือกระบวนการขนส่งเครือข่ายสำรองเพื่อปกป้องข้อมูล หากจำเป็น
  • ขณะนี้ไม่มีตัวเลือกที่ช่วยให้คุณสามารถเขียนวัตถุลงในไฟล์เข้าถึงโดยสุ่มได้ แต่คุณสามารถใช้กระแสข้อมูลขาเข้าของ Byte Array เป็นตัวยึดตำแหน่งเพื่ออ่านและเขียนวัตถุ อย่างไรก็ตาม ตรวจสอบให้แน่ใจว่าอ็อบเจ็กต์ทั้งหมดอยู่ในสตรีม Byte Array ไม่เช่นนั้นกระบวนการจะล้มเหลว

แนะนำ: