Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Java - salvare appunti di agenda elettronica
Forum - Java - salvare appunti di agenda elettronica

Avatar
Il_maca (Ex-Member)
Pro


Messaggi: 163
Iscritto: 28/01/2009

Segnala al moderatore
Postato alle 20:45
Martedė, 02/06/2009
volevo sapere come potrei salvare i seguenti campi:
ORA-DATA-NOTA
premettendo ke esse sono tutte stringhe!!
avevo pensato a un database ma ,oltre al fatto ke sono completamente ignorante in materia, in caso di assenza di rete l'agenda non funziona!
quindi mi rimane un file binario ad accesso casuale, il problema č che dovrei controllare tutte le volte la lunghezza della stringa nota, e mi sembra molto limitativo!
secondo voi quale altra soluzione potrei adottare??
mi servirebbe poter salvare una tabella su un file!! un database su file, se cosė possiamo definirlo!
aiutatemi ho bisogno di idee!


P.S: un saluto a tutti quelli ke spiano ogni mia mossa e ogni mio post!! ciao raga ci vediamo a scuola!!xD

PM Quote
Avatar
tasx (Dev Team)
Expert


Messaggi: 439
Iscritto: 15/12/2008

Segnala al moderatore
Postato alle 22:04
Martedė, 02/06/2009
Ciao!!
Non potresti creare un oggetto che come campo contenga un hashtable e poi nel costruttore dell'oggetto passare come parametri i dati che a te interessano ed infine scrivere l'oggetto su di un file?
Esempio:

Codice sorgente - presumibilmente Java

  1. public class OggettoSalvaDati implements Serializable {
  2.    
  3.     Hashtable h;
  4.  
  5.     public OggettoSalvaSati(String nome, String cognome, String via) {
  6.         h = new Hashtable();
  7.         h.put("nome",nome);
  8.         h.put("cognome",cognome);
  9.         h.put("via",via);
  10.     }
  11.  
  12.     public String get(String s) {
  13.         return h.get(s);
  14.     }
  15. }



Ora scrivo una classe che usa l'OggettoSalvaDati:

Codice sorgente - presumibilmente Java

  1. public class prova {
  2.     public prova() {
  3.     // ipotizzo l'esistenza di tre jtextfield
  4.        String nome = jt1.getText();
  5.        String cognome = jt2.getText();
  6.        String via = jt3.getText();
  7.        OggettoSalvaDati osd = new OggettoSalvaDati(nome, cognome, via);
  8.        String path = System.getProperty("user.dir") + "/prova.dat";
  9.        FileOutputStream fos = new FileOutputStream(path);
  10.        ObjectOutputStream oo = new ObjectOutput(fos);
  11.        oo.writeObject(osd);
  12.        oo.close();
  13.     // ora lo riapro e recupero i dati
  14.        FileInputStream fis = new FileInputStream(path);
  15.        ObjectInputStream oi = new ObjectInput(fis);
  16.        OggettoSalvaDati osd2 = (OggettoSalvaDati) oi.readObject();
  17.        System.out.println("Nome : " + osd2.get("nome"));
  18.        System.out.println("Cognome : " + osd2.get("cognome"));
  19.        System.out.println("Via : " + osd2.get("via"));
  20.     }
  21. }



Ho omesso tutti i try,catch ed import per ragione di tempo, cmq se usi netbeans č tt automatico.  ;););););););)
Spero di aver capito il problema e di essermi spiegato meglio. :k::k::k::k:

Ciaociao

Ultima modifica effettuata da tasx il 02/06/2009 alle 22:06
PM Quote
Avatar
netarrow (Admin)
Guru^2


Messaggi: 2502
Iscritto: 12/05/2004

Segnala al moderatore
Postato alle 11:29
Mercoledė, 03/06/2009
per rendere i dati leggibili in modo agevole anche da altri linguaggi e magari da un umano potresti semplicemente usare un file XML

PM Quote
Avatar
Il_maca (Ex-Member)
Pro


Messaggi: 163
Iscritto: 28/01/2009

Segnala al moderatore
Postato alle 15:12
Mercoledė, 03/06/2009
Testo quotato

Postato originariamente da tasx:

Ciao!!
Non potresti creare un oggetto che come campo contenga un hashtable e poi nel costruttore dell'oggetto passare come parametri i dati che a te interessano ed infine scrivere l'oggetto su di un file?
Esempio:

Codice sorgente - presumibilmente Java

  1. public class OggettoSalvaDati implements Serializable {
  2.    
  3.     Hashtable h;
  4.  
  5.     public OggettoSalvaSati(String nome, String cognome, String via) {
  6.         h = new Hashtable();
  7.         h.put("nome",nome);
  8.         h.put("cognome",cognome);
  9.         h.put("via",via);
  10.     }
  11.  
  12.     public String get(String s) {
  13.         return h.get(s);
  14.     }
  15. }



Ora scrivo una classe che usa l'OggettoSalvaDati:

Codice sorgente - presumibilmente Java

  1. public class prova {
  2.     public prova() {
  3.     // ipotizzo l'esistenza di tre jtextfield
  4.        String nome = jt1.getText();
  5.        String cognome = jt2.getText();
  6.        String via = jt3.getText();
  7.        OggettoSalvaDati osd = new OggettoSalvaDati(nome, cognome, via);
  8.        String path = System.getProperty("user.dir") + "/prova.dat";
  9.        FileOutputStream fos = new FileOutputStream(path);
  10.        ObjectOutputStream oo = new ObjectOutput(fos);
  11.        oo.writeObject(osd);
  12.        oo.close();
  13.     // ora lo riapro e recupero i dati
  14.        FileInputStream fis = new FileInputStream(path);
  15.        ObjectInputStream oi = new ObjectInput(fis);
  16.        OggettoSalvaDati osd2 = (OggettoSalvaDati) oi.readObject();
  17.        System.out.println("Nome : " + osd2.get("nome"));
  18.        System.out.println("Cognome : " + osd2.get("cognome"));
  19.        System.out.println("Via : " + osd2.get("via"));
  20.     }
  21. }



Ho omesso tutti i try,catch ed import per ragione di tempo, cmq se usi netbeans č tt automatico.  ;););););););)
Spero di aver capito il problema e di essermi spiegato meglio. :k::k::k::k:

Ciaociao




ank'io avevo pensato a questa soluzione ma non sapevo come metterla in pratica!!!grazie!!


netarrow hai una guida sulla creazione di xml??? oggi ho pokissimo tempo, ma domani mi informo meglio!!

PM Quote
Avatar
Daf (Normal User)
Pro


Messaggi: 78
Iscritto: 27/06/2009

Segnala al moderatore
Postato alle 22:37
Giovedė, 09/07/2009
A me non torna tutto questo:
- se si salva un oggetto su un file e quell'oggetto non contiene
   un array di valori devi salvare + file ed č un operazione lenta, giusto?
- se l'oggetto contenesse un array ridefinibile
   (o devinito alla sua creazione "constructor")
   sarebbe tutto in un file, o non č possibile?

PM Quote