Jak serializować obiekt w Javie: 8 kroków (ze zdjęciami)

Spisu treści:

Jak serializować obiekt w Javie: 8 kroków (ze zdjęciami)
Jak serializować obiekt w Javie: 8 kroków (ze zdjęciami)

Wideo: Jak serializować obiekt w Javie: 8 kroków (ze zdjęciami)

Wideo: Jak serializować obiekt w Javie: 8 kroków (ze zdjęciami)
Wideo: Inkscape Tutorial : Creating Gear 2024, Może
Anonim

Kiedy serializujesz obiekt w Javie, konwertujesz dane na strumienie bajtów, które następnie konwertujesz z powrotem na kopię oryginalnych danych. Jeśli brzmi to niejasno, pomyśl o serializacji w następujący sposób. Pracujesz nad dokumentem, a następnie zapisujesz go na dysku twardym. Mówiąc w ten sposób, serializujesz dane, aby móc później odzyskać tę kopię. Serializacja znacznie ułatwia i usprawnia przesyłanie danych w sieciach.

Ważne jest, aby zrozumieć podstawy języka Java przed serializacją obiektu. Jeśli używałeś języków programowania, takich jak Pascal i starsze wersje C, wiesz, że bez serializacji obiektów programista musi utworzyć oddzielny plik tekstowy I/O do przechowywania i ładowania danych. Serializacja obiektów w Javie omija tworzenie tego pliku tekstowego do przechowywania danych, oszczędzając czas i koszty programowania. Poniższy artykuł zawiera kroki umożliwiające serializację obiektu w języku Java. Przykładowy kod w tym artykule został wykorzystany dzięki uprzejmości The Java Developers Almanac 1.4.

Kroki

Serializuj obiekt w Javie Krok 1
Serializuj obiekt w Javie Krok 1

Krok 1. Otwórz obiekt kodujący Java, który wymaga serializacji lub utwórz go od podstaw

Serializuj obiekt w Javie Krok 2
Serializuj obiekt w Javie Krok 2

Krok 2. Wybierz obiekt w Javie, który chcesz serializować

W tym przykładzie nazwiemy ten obiekt „MyObject”.

Serializuj obiekt w Javie Krok 3
Serializuj obiekt w Javie Krok 3

Krok 3. Włącz serializację obiektów w Javie, tworząc klasę MyObject w celu zaimplementowania interfejsu java.io. Serialize

Wystarczy dodać następującą linię kodu na początku kodu, zastępując "public class MyObject" line.public class MyObject implementuje java.io. Serializable

Serializuj obiekt w Javie Krok 4
Serializuj obiekt w Javie Krok 4

Krok 4. Teraz twój obiekt jest możliwy do serializacji, co oznacza, że może być zapisany przez strumień wyjściowy, w następujący sposób:

  • Poniższe wiersze kodu ilustrują sposób zapisywania MyObject (lub dowolnego obiektu możliwego do serializacji) do pliku lub dysku.

    próbować{

    // Serializuj obiekt danych do pliku

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

    out.writeObject(obiekt);

    out.zamknij();

    // Serializuj obiekt danych do tablicy bajtów

    ByteArrayOutputStream bos = new ByteArrayOutputStream();

    out = new ObjectOutputStream(bos);

    out.writeObject(obiekt);

    out.zamknij();

    // Pobierz bajty zserializowanego obiektu

    bajt buf = bos.toByteArray();

    } złapać (IOException e) {

    }

Serializuj obiekt w Javie Krok 5
Serializuj obiekt w Javie Krok 5

Krok 5. Można to przeczytać tak:

try{ FileInputStream door = new FileInputStream("nazwa_pliku.sav"); Czytnik ObjectInputStream = nowy ObjectInputStream(drzwi); MójObiekt x = nowy MójObiekt(); x = (MyObject) reader.nextObject();}catch (IOException e){ e.printStackTrace();}

Serializuj obiekt w Javie Krok 6
Serializuj obiekt w Javie Krok 6
Serializuj obiekt w Javie Krok 7
Serializuj obiekt w Javie Krok 7

Krok 6. Wykonaj zserializowany kod obiektowy w programie Java, aby upewnić się, że działa skutecznie (opcjonalnie)

Uruchom plik Java. Jar Krok 9
Uruchom plik Java. Jar Krok 9

Krok 7. Zapisz i zamknij zserializowany obiekt w Javie

Porady

  • Udoskonalenia serializacji w Java SE Development Kit 6 umożliwiają użycie ObjectStreamClass wyszukiwania dowolnej metody do obsługi dowolnych obiektów klas, których nie można serializować.
  • Aby skrócić czas odczytu i zapisu w dużych drzewach obiektów, użyj słowa kluczowego „przejściowy” dla zmiennych instancji, które nie wymagają serializacji. Zwiększy to wydajność, ponieważ nie odczytujesz i nie zapisujesz już niepotrzebnych danych w procesie serializacji.

Ostrzeżenia

  • Java prawie co roku wychodzi z nową wersją swojego zestawu deweloperskiego. Nowe wersje obejmują uaktualnienia i zmiany sposobu serializacji obiektu w Javie. Dlatego ważne jest, aby monitorować zmiany w używanej wersji.
  • Podczas serializacji obiektów nie można szyfrować strumieni danych. Dlatego w razie potrzeby będziesz musiał polegać na innych aplikacjach lub pomocniczych procesach transportu sieciowego, aby chronić dane.
  • Obecnie nie ma opcji umożliwiającej zapisywanie obiektów do pliku o dostępie swobodnym. Zamiast tego można wykorzystać wejściowe strumienie wyjściowe tablicy bajtowej jako symbol zastępczy, z którego można odczytywać i zapisywać obiekty. Należy jednak upewnić się, że cały obiekt znajduje się w strumieniu tablicy bajtów, w przeciwnym razie proces się nie powiedzie.

Zalecana: