Salvare su file una classe/dati. Possibile?

di il
2 risposte

Salvare su file una classe/dati. Possibile?

Ciao.
forse chiedo troppo, ma non riesco a trovare l'argomento neanche cercando su internet.
è possibile salvare una classe usata solo per immagazzinare dati come se fosse un archivio? Senza metodi tranne i setter e getter. Esiste un medoto già incluso ....che ne so su java.io.* ?

Mi spiego meglio. volevo fare un programma ma senza usare DB (anche perché non sono ancora arrivato al capito JDBC) che possa salvare i dati di un array o ArrayList come fosse un CSV.

ho studiato i metodi proposti dal libro che uso nella libreria java.io.* , tra cui FileWriter che viene incluso in un BufferedWriter che viene incluso in un PrintWriter.
in questo modo i metodi print e println mi scrivono un file di testo.

ma se io avessi una classe Persona con gli attributi nome e cognome e poi creassi un ArrayList di Persona, eiste un metodo che mi salvi il contenuto dell'ArrayList o della classe Persona e non il suo reference? (escludendo l'override del metodo toString che può essere una soluzione)

(senza creare uan classe apposta che mi scrive i dati come in un CSV. Quella l'ho già fatta.)
non so se mi sono spiegato

2 Risposte

  • Re: Salvare su file una classe/dati. Possibile?

    tagan ha scritto:


    è possibile salvare una classe usata solo per immagazzinare dati come se fosse un archivio? Senza metodi tranne i setter e getter. Esiste un medoto già incluso ....che ne so su java.io.* ?

    ma se io avessi una classe Persona con gli attributi nome e cognome e poi creassi un ArrayList di Persona, eiste un metodo che mi salvi il contenuto dell'ArrayList o della classe Persona
    Esiste in Java la "serializzazione" degli oggetti, è un meccanismo che permette di salvare l'intero "stato" di un oggetto (con alcune precondizioni/premesse su come deve essere fatta la classe di quei oggetti) su uno "stream" di byte (tipicamente un file o in certi casi un socket) per poi poterlo rileggere e ricreare l'oggetto in un secondo momento.

    Se è questo che ti interessa/basta, allora cerca informazioni sulla serializzazione e sulle classi ObjectInputStream/ObjectOutputStream (di java.io).
    Attenzione che la serializzazione ha tutta una serie di questioni e risvolti anche non banali. Se si tratta di fare un esercizio/esame/ecc... non dovrebbero esserci controindicazioni ...
  • Re: Salvare su file una classe/dati. Possibile?

    andbin ha scritto:


    Esiste in Java la "serializzazione" degli oggetti, è un meccanismo che permette di salvare l'intero "stato" di un oggetto (con alcune precondizioni/premesse su come deve essere fatta la classe di quei oggetti) su uno "stream" di byte (tipicamente un file o in certi casi un socket) per poi poterlo rileggere e ricreare l'oggetto in un secondo momento.

    Se è questo che ti interessa/basta, allora cerca informazioni sulla serializzazione e sulle classi ObjectInputStream/ObjectOutputStream (di java.io).
    Attenzione che la serializzazione ha tutta una serie di questioni e risvolti anche non banali. Se si tratta di fare un esercizio/esame/ecc... non dovrebbero esserci controindicazioni ...
    Grazie Andbin
    Si è solo esercitazione niente di più. Mi serve per memorizzare meglio i metodi e le librerie. il mio metodo di studio è fare 10/15 programmini per ogni capitolo, cosi almeno memorizoz meglio.
    La serializzazione è il prossimo paragrafo del capitolo che sto leggendo....allora prima finisco il capitolo poi mi esercito.

    Non ho nessun esame, ormai come età sto fuori a corsi e esami, anche se potrei provare la certificazione un giorno. Invece quello che mi preme è che in azienda si stanno spostando tutti verso java e io sono un programmatore Natural for Adabas. non che Natural verrà dismesso, ma se mi aggiorno è meglio.
    Dopo Java SE, dovrei incominciare a studiare Java EE, Angular, Maven e Spring, visto che qui usano quello e al momento per me sono solo nomi.
    però se finisco JAVA SE, magari mi mettono in qualche piccolo progettino......boh!
    Grazie, ciao.
    .... alla prossima
Devi accedere o registrarti per scrivere nel forum
2 risposte