Jawa XMLEncoderSimpan objek dengan,XMLDecoderdipulihkan dengan
Jawakeberatan denganformat XMLMemperkenalkan contoh program untuk menyimpan dengan .
Untuk keluaran XMLjava.beans.XMLEncoderMenggunakan.
Jugajava.beans.XMLDecoderKami juga akan memperkenalkan contoh program yang menggunakan ini untuk memulihkan objek yang disimpan.
contoh program
- Bidang yang dinyatakan pribadi disimpan saat Anda menentukan metode pengambil dan penyetel.
- Hanya perubahan variabel yang disimpan ke file XML.
- Anda juga dapat menentukan java.util.HashMap, java.util.ArrayList, dll. sebagai objek yang akan disimpan. Ini berguna untuk sekadar menyimpan status suatu objek.
// Keluaran data byte ke file
fileStream = FileOutputStream baru(jalur);
fileStream.write(xmlbuff);
fileStream.flush();
} Akhirnya {
jika (enc != nol) {
enc.close();
}
jika (keluar!= null) {
keluar.dekat();
}
jika (fileStream != null) {
fileStream.close();
}
}
}
/**
* Mengembalikan objek dari file XML pada jalur [jalur] yang ditentukan.
* *File XML harus disimpan menggunakan java.beans.XMLEncoder.
* @param path Jalur dimana objek disimpan.
* @melempar FileNotFoundException
* Jika file yang ditunjukkan dengan nama jalur yang ditentukan tidak ada
*/
objek statis publik readXML (jalur string) melempar FileNotFoundException {
XMLDecoder d = nol;
mencoba {
d = XMLDecoder baru(BufferedInputStream baru(
FileInputStream baru (jalur)));
kembalikan d.readObject();
} Akhirnya {
jika (d != nol) {
d.tutup();
}
}
}
*Kelas berikut akan digunakan sebagai sampel kelas yang akan disimpan.
Hasil eksekusi
◆Contoh eksekusi
// Pulihkan instance kelas FreeSoft dari XML
FreeSoft freeSoft2 = (FreeSoft)readXML(“C:\\FreeSoft.xml”);
System.out.println("Nama lunak:"+freeSoft2.getName());
Sistem.keluar.println(“URL:”+freeSoft2.getUrl());
} tangkapan (Pengecualian e) {
e.printStackTrace();
}
}
◆ Hasil keluaran
Nama perangkat lunak: Obrolan & Messenger Baik obrolan maupun messenger! ! URL: https://chat-messenger.com/
◆Isi C:\\FreeSoft.xml
Hal-hal yang perlu diperhatikan saat menggunakan
Kelas java.beans.XMLEncoder dan java.beans.XMLDecoder berguna, tetapi ketika digunakan secara praktis di Chat&Messenger, dalam kasus yang sangat jarang terjadi, ketika mengeluarkan ke XML dengan java.beans.XMLEncoder, file menjadi 0 byte.
Jika file 0-byte dibaca, ParseException akan dicatat dalam "output kesalahan standar".
Alasannya adalah file menjadi kosong ketika instance FileOutputStream dibuat.
Saya yakin ini terjadi ketika proses Java dimatikan setelah membuat instance FileOutputStream tetapi sebelum mengeluarkan data XML.
Karena masalah ini, Chat&Messenger membuat file cadangan untuk menghindari masalah tersebut.