Как записать объект в файл на Java
Объект Java может записывать в файл для будущего доступа, это называетсяSerialization. Для этого вам необходимо реализоватьSerializable+`interface, and use `+ObjectOutputStream для записи объектов в файл.
FileOutputStream fout = new FileOutputStream("c:\\temp\\address.ser");
ObjectOutputStream oos = new ObjectOutputStream(fout);
oos.writeObject(address);
1. объект
Создайте объект «Адрес» и реализуйте интерфейсSerializable. Этот объект собирается записать в файл.
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. Записать объект в файл
Этот класс запишет объект «Адрес» и его значение переменной («Уолл-стрит», «Соединенные Штаты») в файл с именем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
Прочтите эту статью оhow to read the saved object from file – Java.