Comment écrire un objet dans un fichier en Java
L'objet Java peut écrire dans un fichier pour un accès futur, cela s'appelleSerialization. Pour ce faire, vous devez implémenter lesSerializable+`interface, and use `+ObjectOutputStream pour écrire des objets dans un fichier.
FileOutputStream fout = new FileOutputStream("c:\\temp\\address.ser");
ObjectOutputStream oos = new ObjectOutputStream(fout);
oos.writeObject(address);
1. Objet
Créez un objet «Adresse» et implémentez l'interfaceSerializable. Cet objet va écrire dans un fichier.
Address.java
package com.example.io;
import java.io.Serializable;
public class Address implements Serializable {
private static final long serialVersionUID = 1L;
String street;
String country;
public void setStreet(String street) {
this.street = street;
}
public void setCountry(String country) {
this.country = country;
}
public String getStreet() {
return this.street;
}
public String getCountry() {
return this.country;
}
@Override
public String toString() {
return new StringBuffer(" Street : ")
.append(this.street).append(" Country : ")
.append(this.country).toString();
}
}
2. Écrire un objet dans un fichier
Cette classe écrira l'objet "Address" et sa valeur variable ("wall street", "united state") dans un fichier nomméc:\temp\address.ser
WriteObject.java
package com.example.io;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;
public class WriteObject {
public static void main(String args[]) {
WriteObject obj = new WriteObject();
Address address = new Address();
address.setStreet("wall street");
address.setCountry("united state");
obj.serializeAddress(address);
}
public void serializeAddress(Address address) {
FileOutputStream fout = null;
ObjectOutputStream oos = null;
try {
fout = new FileOutputStream("c:\\temp\\address.ser");
oos = new ObjectOutputStream(fout);
oos.writeObject(address);
System.out.println("Done");
} catch (Exception ex) {
ex.printStackTrace();
} finally {
if (fout != null) {
try {
fout.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (oos != null) {
try {
oos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
public void serializeAddressJDK7(Address address) {
try (ObjectOutputStream oos =
new ObjectOutputStream(new FileOutputStream("c:\\temp\\address2.ser"))) {
oos.writeObject(address);
System.out.println("Done");
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
Note
Veuillez lire cet article surhow to read the saved object from file – Java.