Как прочитать объект из файла в Java
В предыдущем примере вы узнали оhow to write an Object into a file. В этом примере вы узнаете, как прочитать объект из сохраненного файла или как десериализовать сериализованный файл.
Процесс десериализации очень похож на сериализацию, вам нужно использоватьObjectInputStream, чтобы прочитать содержимое файла и преобразовать его обратно в объект Java.
FileInputStream fin = new FileInputStream("c:\\temp\\address.ser");
ObjectInputStream ois = new ObjectInputStream(fin);
address = (Address) ois.readObject();
1. Читать объект из файла
Этот класс будет читать сериализованный файлc:\temp\address.ser (созданный вthis example), конвертировать его обратно в объект «Address» и распечатывать сохраненное значение.
ReadObject.java
package com.example.io;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
public class ReadObject {
public static void main(String args[]) {
ReadObject obj = new ReadObject();
Address address = obj.deserialzeAddress("c:\\temp\\address.ser");
System.out.println(address);
}
public Address deserialzeAddress(String filename) {
Address address = null;
FileInputStream fin = null;
ObjectInputStream ois = null;
try {
fin = new FileInputStream(filename);
ois = new ObjectInputStream(fin);
address = (Address) ois.readObject();
} catch (Exception ex) {
ex.printStackTrace();
} finally {
if (fin != null) {
try {
fin.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (ois != null) {
try {
ois.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return address;
}
public Address deserialzeAddressJDK7(String filename) {
Address address = null;
try (ObjectInputStream ois
= new ObjectInputStream(new FileInputStream(filename))) {
address = (Address) ois.readObject();
} catch (Exception ex) {
ex.printStackTrace();
}
return address;
}
}
Выход
Street : wall street Country : united state