кроки Правити


Відкрийте об'єкт кодування Java, який вимагає сериализации або створення з нуля.


Виберіть об'єкт в Java, який ви хочете серіалізовать. У цьому прикладі ми будемо називати цей об'єкт "MyObject."
Увімкніть сериализацию об'єктів в Java, створивши клас MyObject для наслідування класу java.io.Serialize class. Просто додайте наступний рядок коду в початок коду, замінивши рядок "public class MyObject". Рublic class MyObject реалізує java.io.Serializable


- Наступні рядки коду ілюструють, як записати MyObject (або будь-який Серіалізуемое об'єкт) в файл або на диск.
try // Serialize data object to a file
ObjectOutputStream out = new ObjectOutputStream (new FileOutputStream ( "MyObject.ser"));
out.writeObject (object);
out.close ();
// Serialize data object to a byte array
ByteArrayOutputStream bos = new ByteArrayOutputStream ();
out = new ObjectOutputStream (bos);
out.writeObject (object);
out.close ();
// Get the bytes of the serialized object
byte [] buf = bos.toByteArray ();
> Catch (IOException e)>


Поради Правити
- Удосконалення сериализации в Java SE Development Kit 6 дозволяють використовувати метод ObjectStreamClass lookupAny для обробки будь-яких об'єктів несеріалізуемого класу.
- Для поліпшення зчитування і запису в деревах великих об'єктів, використовуйте "перехідний" ключове слово для змінних прикладу, які не вимагають сериализации. Це дозволить збільшити продуктивність в тому, що вам більше не потрібно зчитувати і записувати дані, які Вам в процесі сериализации.
попередження Правити
- Java випускається з новою версією Developer's kit майже щорічно. Нові версії включають оновлення і зміни в тому, як ви можете серіалізовать об'єкт в Java. Тому, дуже важливо стежити за змінами у версії, яку ви використовуєте.
- При сериализации об'єктів ви не можете шифрувати потоки даних. Таким чином, вам потрібно покладатися на інші додатки або вторинні процеси мережевої передачі для захисту даних, якщо це необхідно.
- В даний час немає варіанту, який дозволяє записувати об'єкти в файл з довільним доступом. Замість цього, ви можете використовувати Byte Array (масив байтів) вхідних, вихідних потоків як заповнювач, з якого можна зчитувати і записувати об'єкти. Однак, переконайтеся, що весь об'єкт знаходиться в потоці масиву байтів (Byte Array) або ж процес не вдасться.