Oppure

Loading
02/06/09 18:45
Il_maca
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
aaa
02/06/09 20:04
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:

public class OggettoSalvaDati implements Serializable {
    
    Hashtable h;

    public OggettoSalvaSati(String nome, String cognome, String via) {
        h = new Hashtable();
        h.put("nome",nome);
        h.put("cognome",cognome);
        h.put("via",via);
    }

    public String get(String s) {
        return h.get(s);
    }
}


Ora scrivo una classe che usa l'OggettoSalvaDati:


public class prova {
    public prova() {
    // ipotizzo l'esistenza di tre jtextfield
       String nome = jt1.getText();
       String cognome = jt2.getText();
       String via = jt3.getText();
       OggettoSalvaDati osd = new OggettoSalvaDati(nome, cognome, via);
       String path = System.getProperty("user.dir") + "/prova.dat";
       FileOutputStream fos = new FileOutputStream(path);
       ObjectOutputStream oo = new ObjectOutput(fos);
       oo.writeObject(osd);
       oo.close();
    // ora lo riapro e recupero i dati
       FileInputStream fis = new FileInputStream(path);
       ObjectInputStream oi = new ObjectInput(fis);
       OggettoSalvaDati osd2 = (OggettoSalvaDati) oi.readObject();
       System.out.println("Nome : " + osd2.get("nome"));
       System.out.println("Cognome : " + osd2.get("cognome"));
       System.out.println("Via : " + osd2.get("via"));
    }
}


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 02/06/09 20:06
aaa
03/06/09 9:29
netarrow
per rendere i dati leggibili in modo agevole anche da altri linguaggi e magari da un umano potresti semplicemente usare un file XML
aaa
03/06/09 13:12
Il_maca
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:

public class OggettoSalvaDati implements Serializable {
    
    Hashtable h;

    public OggettoSalvaSati(String nome, String cognome, String via) {
        h = new Hashtable();
        h.put("nome",nome);
        h.put("cognome",cognome);
        h.put("via",via);
    }

    public String get(String s) {
        return h.get(s);
    }
}


Ora scrivo una classe che usa l'OggettoSalvaDati:


public class prova {
    public prova() {
    // ipotizzo l'esistenza di tre jtextfield
       String nome = jt1.getText();
       String cognome = jt2.getText();
       String via = jt3.getText();
       OggettoSalvaDati osd = new OggettoSalvaDati(nome, cognome, via);
       String path = System.getProperty("user.dir") + "/prova.dat";
       FileOutputStream fos = new FileOutputStream(path);
       ObjectOutputStream oo = new ObjectOutput(fos);
       oo.writeObject(osd);
       oo.close();
    // ora lo riapro e recupero i dati
       FileInputStream fis = new FileInputStream(path);
       ObjectInputStream oi = new ObjectInput(fis);
       OggettoSalvaDati osd2 = (OggettoSalvaDati) oi.readObject();
       System.out.println("Nome : " + osd2.get("nome"));
       System.out.println("Cognome : " + osd2.get("cognome"));
       System.out.println("Via : " + osd2.get("via"));
    }
}


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!!
aaa
09/07/09 20:37
Daf
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?
aaa