Elenet.net
+2 voti
Un esempio di classe per la gestione della persistenza.
quesito posto 20 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.*;
 
 
/**
*   Classe per la gestione della persistenza su file di oggetti serializzati
*   @author Gianni Messina
*   @version 1.0
*/
Classe per la gestione di file che serializzano oggetti
public class Persistenza{
 
private String nome_file=null,nome_classe=null;
private FileOutputStream fout=null;
private FileInputStream fin=null;
private ObjectOutputStream out=null;
private ObjectInputStream in=null;
 
/** Costruttore
* @param nome_file
* @param nome_classe
*/
Persistenza(String nome_file,String nome_classe){
this.nome_file = nome_file;
this.nome_classe = nome_classe;
}
 
/** 
* Metodo di apertura dei file in output
*/
public void openOut(){
try{
fout=new FileOutputStream(nome_file,true);
out=new ObjectOutputStream(fout);
}
catch(Exception e){
e.printStackTrace();
}
}
 
/** 
* Metodo di chiusura dei file in output
*/
public void closeOut(){
try{
fout.close();
}
catch(Exception e)
{e.printStackTrace();}
}
 
 
public void openIn(){
try{
fin=new FileInputStream(nome_file);
in=new ObjectInputStream(fin);
}
catch(Exception e)
{e.printStackTrace();}
}
 
 
public void closeIn(){
try{
fin.close();
}
catch
(Exception e){e.printStackTrace();}
}
 
/**
* @param x  Oggetto da serializzare su file
*/
public void saveToDisk(Object x){
try{
System.out.println("Staiu scriviannu l'oggetto: "+x+"…");
openOut();
out.writeObject(x);
closeOut();
System.out.println("Ho finito!");
}catch
(Exception e){e.printStackTrace();};
}
 
 
public Object getFromDisk(){//lettura sequenziale
Object res=null;
try{
System.out.print("Sto leggendo"+nome_file+"…");
openIn();
res=(Object)in.readObject();
closeIn();
}catch(Exception e){e.printStackTrace();};
return res;
}
 
Esempio d'uso
_______________________________________________________
 
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 {
 
Elemento ee1=new Elemento(12,11,"ciccio");
Elemento ee3=new Elemento(12,11,"franco");
Persistenza Pers=new Persistenza("tre.dat","Elemento"); 
 
Pers.openOut();
Pers.saveToDisk(ee1);
Pers.saveToDisk(ee3);
Pers.closeOut();
 
 
Pers.openIn();
 
Elemento ee2= (Elemento)Pers.getFromDisk();
System.out.println(ee2.Nome );
 
ee2=(Elemento)Pers.getFromDisk();
System.out.println(ee2.Nome);
 
Pers.closeIn();
}
catch(Exception e) 
{
System.out.println(e);
  }
 }
}
 
risposta inviata 20 Dicembre 2013 da Gianni Messina Esperto (736 punti)

Domande correlate

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