Java'da Bir Nesneyi Serileştirme: 8 Adım (Resimlerle)

İçindekiler:

Java'da Bir Nesneyi Serileştirme: 8 Adım (Resimlerle)
Java'da Bir Nesneyi Serileştirme: 8 Adım (Resimlerle)

Video: Java'da Bir Nesneyi Serileştirme: 8 Adım (Resimlerle)

Video: Java'da Bir Nesneyi Serileştirme: 8 Adım (Resimlerle)
Video: Inkscape - Inkscape 1.1 Yeni Özellikler 2024, Mayıs
Anonim

Java'da bir nesneyi seri hale getirdiğinizde, verileri daha sonra orijinal verilerin kopyasına geri dönüştüren bayt akışlarına dönüştürürsünüz. Bu kafa karıştırıcı geliyorsa, serileştirmeyi aşağıdaki terimlerle düşünün. Bir belge üzerinde çalışıyorsunuz ve ardından onu sabit sürücünüze kaydediyorsunuz. Daha sonra bu kopyayı alabilmek için verileri seri hale getiriyorsunuz. Serileştirme, ağlarda veri aktarımını çok daha kolay ve verimli hale getirir.

Bir nesneyi seri hale getirmeden önce Java'nın temellerini anlamanız önemlidir. Pascal ve daha eski C sürümleri gibi programlama dilleri kullandıysanız, nesne serileştirme olmadan bir programcının verileri depolamak ve yüklemek için ayrı bir G/Ç metin dosyası oluşturması gerektiğini bilirsiniz. Java'da nesne serileştirme, verileri depolamak için bu metin dosyasını oluşturmayı atlayarak zamandan ve programlama maliyetlerinden tasarruf sağlar. Aşağıdaki makale, Java'da bir nesneyi seri hale getirme adımlarını içerir. Bu makaledeki örnek kod, The Java Developers Almanac 1.4'ün izniyle kullanılmıştır.

adımlar

Java Adım 1'de bir Nesneyi Serileştirin
Java Adım 1'de bir Nesneyi Serileştirin

Adım 1. Serileştirme gerektiren Java kodlama nesnesini açın veya sıfırdan bir tane oluşturun

Java Adım 2'de bir Nesneyi Serileştirin
Java Adım 2'de bir Nesneyi Serileştirin

Adım 2. Java'da seri hale getirmek istediğiniz nesneyi seçin

Bu örnekte, bu nesneye “MyObject” adını vereceğiz.

Java Adım 3'te bir Nesneyi Serileştirin
Java Adım 3'te bir Nesneyi Serileştirin

Adım 3. MyObject sınıfını java.io. Serialize arabirimini uygulamaya geçirerek Java'da nesne serileştirmeyi etkinleştirin

"public class MyObject" satırının yerine aşağıdaki kod satırını eklemeniz yeterlidir.

Java Adım 4'te bir Nesneyi Serileştirin
Java Adım 4'te bir Nesneyi Serileştirin

Adım 4. Artık nesneniz seri hale getirilebilir, bunun anlamı şu şekilde bir çıktı akışıyla yazılabileceğidir:

  • Aşağıdaki kod satırları, MyObject'in (veya herhangi bir seri hale getirilebilir nesnenin) bir dosyaya veya diske nasıl yazılacağını gösterir.

    denemek{

    // Veri nesnesini bir dosyaya seri hale getir

    ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream("MyObject.ser"));

    out.writeObject(nesne);

    dışarı.kapat();

    // Veri nesnesini bir bayt dizisine seri hale getir

    ByteArrayOutputStream bos = yeni ByteArrayOutputStream();

    out = new ObjectOutputStream(bos);

    out.writeObject(nesne);

    dışarı.kapat();

    // Serileştirilmiş nesnenin baytlarını al

    byte tampon = bos.toByteArray();

    } yakalama (IOException e) {

    }

Java Adım 5'te bir Nesneyi Serileştirin
Java Adım 5'te bir Nesneyi Serileştirin

Adım 5. Şu şekilde okunabilir:

try{ FileInputStream kapı = new FileInputStream("name_of_file.sav"); ObjectInputStream okuyucu = yeni ObjectInputStream(kapı); Nesnem x = yeni Nesnem(); x = (MyObject) okuyucu.nextObject();}yakala (IOException e){ e.printStackTrace();}

Java Adım 6'da bir Nesneyi Serileştirin
Java Adım 6'da bir Nesneyi Serileştirin
Java Adım 7'de Bir Nesneyi Serileştirin
Java Adım 7'de Bir Nesneyi Serileştirin

Adım 6. Etkin bir şekilde çalıştığından emin olmak için serileştirilmiş nesne kodunu Java programı içinde yürütün (isteğe bağlı)

Bir. Jar Java Dosyası Çalıştırın Adım 9
Bir. Jar Java Dosyası Çalıştırın Adım 9

Adım 7. Serileştirilmiş nesneyi Java'da kaydedin ve kapatın

İpuçları

  • Java SE Development Kit 6'daki serileştirme geliştirmeleri, seri hale getirilemeyen sınıf nesnelerini işlemek için ObjectStreamClass arama yöntemini kullanmanıza izin verir.
  • Büyük nesne ağaçlarında okuma ve yazma sürelerini iyileştirmek için, serileştirme gerektirmeyen örnek değişkenler için "geçici" anahtar sözcüğünü kullanın. Bu, serileştirme sürecine artık gereksiz verileri okuyup yazmadığınız için performansı artıracaktır.

Uyarılar

  • Java, geliştirici kitlerinin neredeyse her yıl yeni bir sürümüyle çıkıyor. Yeni sürümler, Java'da bir Nesneyi nasıl seri hale getirebileceğinize ilişkin yükseltmeleri ve değişiklikleri içerir. Bu nedenle, kullandığınız sürümdeki değişiklikleri izlemek önemlidir.
  • Nesneleri serileştirirken veri akışlarını şifreleyemezsiniz. Bu nedenle, gerekirse verileri korumak için diğer uygulamalara veya ikincil ağ aktarım süreçlerine güvenmeniz gerekir.
  • Şu anda rastgele bir erişim dosyasına nesne yazmanıza izin veren bir seçenek yok. Bunun yerine, Byte Array giriş çıkış akışlarını, nesnelerin okunacağı ve yazılacağı bir yer tutucu olarak kullanabilirsiniz. Ancak, tüm nesnenin Bayt Dizisi akışında olduğundan emin olun, aksi takdirde işlem başarısız olur.

Önerilen: