Documente Academic
Documente Profesional
Documente Cultură
Există cazuri în care este necesară stocarea stării obiectelor create într-
o aplicație. Acest lucru înseamnă de obicei stocarea tuturor
caracteristicilor unui obiect într-un depozit specific, într-un format
caracteristic, recognoscibil pentru sistem. O descriere a obiectului
stocat astfel este mai apoi descărcată din depozit atunci când este
nevoie și este restaurată în forma sa originală. Acest proces se
numește serializare și deserializare (Object Streaming).
Serializarea binară
@Override
public String toString() { return this.id + " " + this.model + " " + this.maximumSpeed; }
}
import java.io.*;
public class Main {
public static void main(String[] args) throws FileNotFoundException, IOException {
Car c = new Car();
c.id=10;
c.model="Audi A8";
c.maximumSpeed=270.00;
FileOutputStream fos = new FileOutputStream("MyCar");
ObjectOutputStream ob = new ObjectOutputStream(fos);
ob.writeObject(c.id);
ob.writeObject(c.model);
ob.writeObject(c.maximumSpeed);
ob.flush();
}
}
10 Audi A8 270.0
import java.io.Serializable;
@Override
public String toString() { return this.id + " " + this.model + " " + this.maximumSpeed; }
}
@Override
public String toString() { return this.id + " " + this.model + " " + this.maximumSpeed; }
}
import java.beans.XMLEncoder;
import java.io.*;
public class Main {
public static void main(String[] args) throws FileNotFoundException, IOException {
Exerciții
Exercițiul 1
@Override
public String toString()
{
return this.id + " " + this.email + " " + this.password;
}
}
Soluție:
Clasa User:
import java.beans.XMLDecoder;
import java.beans.XMLEncoder;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
@Override
public String toString()
{
return this.id + " " + this.email + " " + this.password;
}
Testarea serializării:
...
User u = new User();
u.setId(5);
u.setEmail("mail@mail.ml");
u.setPassword("123");
u.serializeXml("myXml.xml");
...
Testarea deserializării:
...
User u = User.deserializeXml("myXml.xml");
System.out.println(u);
...