Comment lire un objet à partir d'un fichier en Java
Dans l'exemple précédent, vous découvrezhow to write an Object into a file. Dans cet exemple, vous apprendrez à lire un objet à partir du fichier enregistré ou à désérialiser le fichier sérialisé.
Le processus de désérialisation est assez similaire à la sérialisation, vous devez utiliserObjectInputStream
pour lire le contenu du fichier et le reconvertir en objet Java.
FileInputStream fin = new FileInputStream("c:\\temp\\address.ser"); ObjectInputStream ois = new ObjectInputStream(fin); address = (Address) ois.readObject();
1. Lire l'objet à partir d'un fichier
Cette classe lira un fichier sérialiséc:\temp\address.ser
(créé dansthis example), le reconvertira en objet «Address» et imprimera la valeur enregistrée.
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; } }
Sortie
Street : wall street Country : united state