Jawa Pengkode XMLSimpan objek tersebut,Pengkode XMLPulih
Jawadengan objekformat XMLBerikut adalah contoh program yang menunjukkan cara menyimpan data.
Output XML tersebut mencakupjava.beans.XMLEncoderGunakan ini.
Jugajava.beans.XMLDecoderKami juga akan memperkenalkan contoh program yang menggunakan metode ini untuk memulihkan objek yang tersimpan.
Contoh program
- Field yang dideklarasikan sebagai private akan disimpan saat metode Getter dan Setter didefinisikan.
- File XML hanya akan disimpan jika ada perubahan pada variabel.
- Anda juga dapat menentukan objek yang akan disimpan, seperti java.util.HashMap atau java.util.ArrayList. Ini sangat berguna untuk sekadar menyimpan status suatu objek.
// Mengeluarkan data byte ke dalam sebuah file
fileStream = new FileOutputStream(path);
fileStream.write(xmlbuff);
fileStream.flush();
} Akhirnya {
jika (enc != null) {
enc.close();
}
jika (output != null) {
keluar.tutup();
}
jika (fileStream != null) {
fileStream.close();
}
}
}
/**
* Mengembalikan objek dari file XML di jalur yang ditentukan [path].
* File XML harus disimpan menggunakan java.beans.XMLEncoder.
* @param path Jalur tempat objek disimpan.
* @throws FileNotFoundException
* Jika file yang ditentukan oleh nama jalur tidak ada
*/
public static Object readXML(String path) throws FileNotFoundException {
XMLDecoder d = null;
mencoba {
d = new XMLDecoder(new BufferedInputStream(
FileInputStream baru (jalur));
kembalikan d.readObject();
} Akhirnya {
jika (d != null) {
d.tutup();
}
}
}
*Kelas berikut akan digunakan sebagai contoh kelas yang akan disimpan.
Hasil eksekusi
◆Contoh
// Pulihkan instance kelas FreeSoft dari XML
FreeSoft freeSoft2 = (FreeSoft)readXML(“C:\\FreeSoft.xml”);
System.out.println("Nama perangkat lunak: " + freeSoft2.getName());
System.out.println(“URL:”+freeSoft2.getUrl());
} catch (Exception e) {
e.printStackTrace();
}
}
◆Hasil keluaran
Nama perangkat lunak: Chat & Messenger Obrolan dan pesan instan! URL: https://chat-messenger.com/
◆Isi dari C:\\FreeSoft.xml
Hal-hal yang perlu diperhatikan saat menggunakan layanan ini
Meskipun kelas java.beans.XMLEncoder dan java.beans.XMLDecoder cukup praktis, dalam penggunaan praktis dengan Chat&Messenger, kami telah mengamati masalah yang sangat jarang terjadi di mana ukuran file menjadi 0 byte saat menghasilkan output XML menggunakan java.beans.XMLEncoder.
Membaca berkas dengan ukuran nol byte akan mengakibatkan ParseException dicatat ke "output kesalahan standar".
Hal ini karena file menjadi kosong saat instance FileOutputStream dibuat.
Saya yakin ini terjadi ketika proses Java mati setelah membuat instance FileOutputStream tetapi sebelum mengeluarkan data XML.
Chat&Messenger mengatasi masalah ini dengan membuat file cadangan untuk menghindari kendala tersebut.
