Elenet.net
0 voti

La serializzazione è un meccanismo che mette a disposizione il linguaggio (a partire dalla versione 1.2) per consentire con massima genericità di inviare su un flusso (stream) di qualunque natura (file, rete…) una classe creata dall’utente. Nella pratica, questo si traduce nel poter trattare con oggetti memorizzabili (in qualche modo “persistenti”) a seconda delle necessità. Vedremo come utilizzarla per ottenere la lettura/scrittura su file di oggetti da noi costruiti.

Di seguito un esempio.

quesito posto 19 Dicembre 2013 in Classe quarta da Gianni Messina Esperto (736 punti)
modificato 20 Dicembre 2013 da Gianni Messina
  

1 Risposta

0 voti

import java.io.*;

class Elemento implements Serializable

{

private int x;

private int y;

private String Nome;

Elemento(int x,int y, String Nome){

this.x=x;

this.y=y;

this.Nome=Nome;

}

 

public static void main(String []args) {

try

{

ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream("nomefile.dat",true));

//true=append, consente l’append su file in modo da poter scrivere piu oggetti

 

out.writeObject(new Elemento(77,77,"Massimiliano"));

out.writeObject(new Elemento(25,65,"Andrea"));

out.close();

 

ObjectInputStream in=new ObjectInputStream(new FileInputStream("nomefile.dat"));

Elemento ee1 = (Elemento)in.readObject();

// Ogni volta che viene effettuata una readObject si legge l'elemento successivo

Elemento ee2 = (Elemento)in.readObject();

in.close();

 

System.out.println(ee1.Nome);

System.out.println(ee1.x);

System.out.println(ee1.y);

 

System.out.println(ee2.Nome);

System.out.println(ee2.x);

System.out.println(ee2.y);

}

catch(Exception e) 

{

System.out.println(e);

}

risposta inviata 19 Dicembre 2013 da Gianni Messina Esperto (736 punti)

Domande correlate

+2 voti
1 risposta
quesito posto 20 Dicembre 2013 in Classe quarta da Gianni Messina Esperto (736 punti) | 398 visite
+1 voto
1 risposta
quesito posto 16 Gennaio 2014 in Classe quarta da Marco Scarpaci Corsista (94 punti) | 904 visite
+4 voti
1 risposta
quesito posto 28 Novembre 2013 in Classe quarta da Marco Zaccaria Corsista (149 punti) | 138 visite
778 domande
1,565 risposte
639 commenti
1,445 utenti