Топ-100ObjectStream в Java - CodOrbits
LogoCodOrbits

Раздел: Потоки ввода/вывода

Раздел о том, как работать с файлами и потоками в Java: чтение, запись, буферизация и сериализация данных.

Все разделы
Иконка Потоки ввода/вывода

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
мин.

Similar Articles Icon
Divider

Многопоточность в Java. создание и запуск потоков с помощью Thread

11
мин.

Similar Articles Icon
Divider

Интерфейс Runnable в Java

10
мин.

Similar Articles Icon