ObjectStream в Java
Last updated: 6 мая 2025 г.ObjectInputStream
, ObjectOutputStream
– для сериалиации/десериализации. Для сохранения копии объекта в поток (в файл, например) для восстановления его потом (десереализации).
Пример программы:
1import java.io.*;
2import java.util.*;
3
4class ObjectStreamLesson{
5 public static void main(String[] args) {
6 // сериализация
7 try(ObjectOutputStream oos =
8 new ObjectOutputStream(new FileOutputStream("person.dat")))
9 {
10 Person p = new Person("Mike", 25, 178, false);
11 // сериализуем объект p в файл person.dat
12 oos.writeObject(p);
13 }
14 catch(Exception ex){
15 System.out.println(ex.getMessage());
16 }
17
18 // десериализация
19 try(ObjectInputStream ois =
20 new ObjectInputStream(new FileInputStream("person.dat")))
21 {
22 // десериализуем объект p из файла person.dat
23 Person p = (Person) ois.readObject();
24 // выведем его данные на консоль с помощью printf
25 System.out.printf("Name: %s \t Age: %d \n",
26 p.getName(), p.getAge());
27 }
28 catch(Exception ex){
29 System.out.println(ex.getMessage());
30 }
31 }
32}
33
34// чтобы сериализовать, класс должен быть Serializable
35class Person implements Serializable{
36 private String name;
37 private int age;
38 private double height;
39 private boolean married;
40 Person(String n, int a, double h, boolean m){
41 name = n; age = a; height = h; married = m;
42 }
43 String getName() { return name; }
44 int getAge() { return age; }
45 double getHeight() { return height; }
46 boolean getMarried() { return married; }
47}
Вывод:

То есть мы сохраняем в файл копию какого-либо объекта и когда она нам будет нужна в нашей программе достаем ее.
Следующие уроки
FilterStream в Java
12
мин.
Многопоточность в Java. создание и запуск потоков с помощью Thread
11
мин.
Интерфейс Runnable в Java
10
мин.