Как сериализовать объект java
4 года назад
Человек-Молекула
Сериализация — это процесс сохранения состояния объекта в последовательность байт.
Чтобы сериализовать объект, он должен быть Serializable.
Serializable
Для сериализации используется метод writeObject() :
writeObject()
import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.io.Serializable; import java.util.Map; public class App { public static void main(String[] args) throws IOException, ClassNotFoundException { class Student implements Serializable { String name; int age; Map<String, String> tel; public Student(String name, int age, Map<String, String> tel) { this.name = name; this.age = age; this.tel = tel; } @Override public String toString() { return "Student{" + "name='" + name + '\'' + ", age=" + age + ", tel=" + tel + '}'; } } Student student = new Student("Ivan", 25, Map.of("mob", "123-45-67")); FileOutputStream fileOutputStream = new FileOutputStream("file.txt"); ObjectOutputStream objectOutputStream = new ObjectOutputStream(fileOutputStream); objectOutputStream.writeObject(student); objectOutputStream.close(); // Десериализуем объект и выведем его для проверки FileInputStream fileInputStream = new FileInputStream("file.txt"); ObjectInputStream objectInputStream = new ObjectInputStream(fileInputStream); Student student1 = (Student) objectInputStream.readObject(); System.out.println(student1); // => Student{name='Ivan', age=25, tel={mob=123-45-67}} objectInputStream.close(); } }
3 года назад
Сергей Якимович
Java-разработчик
Изучите Java и фреймворк Spring Boot и REST API
от 6 792 ₽
Посмотреть →
СИКП на Java
Изучите фундаментальные принципы программирования на Java
от 3 900 ₽
Fullstack-разработчик на Java
от 7 934 ₽
Автоматизатор тестирования на Java
Изучите Java и фреймворк для UI- и API-автотестов
от 4 281 ₽
Spring Boot
Навык работы с Spring Boot для масштабируемых веб-приложений
Полный список доступных курсов по разным направлениям
Похожие вопросы
Курсы по веб-разработке