Apabila anda membuat siri objek di Java, anda menukar data menjadi aliran bait yang kemudian ditukar kembali menjadi salinan data asal. Sekiranya ini terdengar membingungkan, fikirkan penyenaraian dalam istilah berikut. Anda sedang mengusahakan dokumen dan kemudian menyimpannya ke cakera keras anda. Anda, dengan cara bercakap, membuat siri data sehingga anda dapat mengambil salinannya di kemudian hari. Serialisasi menjadikan pemindahan data di rangkaian menjadi lebih mudah dan cekap.
Penting untuk anda memahami asas-asas Java sebelum membuat siri objek. Sekiranya anda telah menggunakan bahasa pengaturcaraan seperti Pascal dan versi C yang lebih lama, anda akan tahu bahawa tanpa serialisasi objek, pengaturcara harus membuat fail teks I / O yang terpisah untuk menyimpan dan memuat data. Serialisasi objek di Java memintas membuat file teks ini untuk menyimpan data, menjimatkan masa dan biaya pengaturcaraan. Artikel berikut mengandungi langkah-langkah untuk membuat siri objek di Java. Contoh kod dalam artikel ini digunakan oleh The Java Developers Almanac 1.4.
Langkah-langkah
Langkah 1. Buka objek pengekodan Java yang memerlukan serialisasi atau membuatnya dari awal
Langkah 2. Pilih objek di Java yang ingin anda bersiri
Dalam contoh ini, kita akan memanggil objek itu "MyObject."
Langkah 3. Aktifkan serialisasi objek di Java dengan membuat kelas MyObject untuk melaksanakan antara muka java.io. Serialize
Cukup tambahkan baris kod berikut pada awal kod, ganti baris "kelas awam MyObject". Kelas awam MyObject mengimplementasikan java.io. Serializable
Langkah 4. Sekarang objek anda boleh disenaraikan, itu bermaksud ia boleh ditulis oleh aliran output, seperti ini:
-
Garis kod berikut menggambarkan cara menulis MyObject (atau objek yang boleh disenaraikan) ke fail atau cakera.
cuba {
// Serialkan objek data ke fail
ObjectOutputStream out = ObjectOutputStream baru (FileOutputStream baru ("MyObject.ser"));
out.writeObject (objek);
keluar.tutup ();
// Serialkan objek data ke array bait
ByteArrayOutputStream bos = ByteArrayOutputStream baru ();
out = ObjectOutputStream baru (bos);
out.writeObject (objek);
keluar.tutup ();
// Dapatkan bait objek bersiri
bait buf = bos.toByteArray ();
} tangkapan (IOException e) {
}
Langkah 5. Ia boleh dibaca seperti ini:
-
cuba {FileInputStream door = FileInputStream baru ("name_of_file.sav"); Pembaca ObjectInputStream = ObjectInputStream baru (pintu); MyObject x = MyObject baru (); x = (MyObject) reader.nextObject ();} tangkapan (IOException e) {e.printStackTrace ();}
Langkah 6. Jalankan kod objek bersiri dalam program Java untuk memastikan bahawa ia beroperasi dengan berkesan (pilihan)
Langkah 7. Simpan dan tutup objek bersiri di Java
Petua
- Peningkatan serialisasi dalam Java SE Development Kit 6 memungkinkan anda menggunakan ObjectStreamClass mencari kaedah apa pun untuk menangani sebarang objek kelas yang tidak dapat dilancarkan.
- Untuk meningkatkan masa membaca dan menulis di pohon objek besar, gunakan kata kunci "sementara" untuk pemboleh ubah yang tidak memerlukan siri. Ini akan meningkatkan prestasi kerana anda tidak lagi membaca dan menulis data yang tidak perlu ke dalam proses bersiri.
Amaran
- Java keluar dengan versi baru kit pemaju mereka hampir setiap tahun. Versi baru merangkumi peningkatan dan perubahan bagaimana anda dapat menyusun Objek di Java. Oleh itu, penting untuk memantau perubahan versi yang anda gunakan.
- Semasa membuat siri objek, anda tidak dapat menyulitkan aliran data. Oleh itu, anda perlu bergantung pada aplikasi lain atau proses pengangkutan rangkaian sekunder untuk melindungi data, jika perlu.
- Tidak ada pilihan yang membolehkan anda menulis objek ke fail akses rawak. Sebagai gantinya, anda boleh menggunakan aliran output input Byte Array sebagai penahan tempat untuk membaca dan menulis objek. Namun, pastikan keseluruhan objek berada dalam aliran Byte Array atau prosesnya akan gagal.