Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [Java] Serializzazione di più oggetti su singolo file e ricerca

    Avrei bisogno di alcune dritte sul processo di serializzazione.. Ho già fatto qualche prova stupida di serializzazione e salvataggio di oggetti su .txt ma ora volevo provare a memorizzare riga per riga più oggetti, magari presi da una collezione, per poi effettuare ricerche su un singolo file serializzato. è possibile farlo? (spero di sì )

    Per il salvataggio stavo utilizzando un FileOutputStream e un ObjectOutputStream, scrivo le informazioni sul file serializzando il singolo oggetto: ho visto che il il costruttore di FileOutputStream permette di aggiungere oggetti in append settando un true quindi immagino che scorrendo un array di oggetti si possa serializzare e scrivere su file ogni singolo oggetto separatamente. Per andare a capo potrei usare .writeChars("\n") di ObjectOutputStream??

    Il problema è il recupero dei dati salvati: l'istruzione che ho sempre eseguito è il .readObject di ObjectInputStream però non riesco assolutamente a capire come si possano identificare i diversi oggetti sul file da recuparare separatamente oppure come possa indicargli di leggere solamente l'accoppiata oggetto-riga..

    Per le prove che ho fatto credo che il processo di lettura sia eseguito e completato completamente mentre per la lettura non riesco a recupare i singoli oggetti!! Come posso fare?

    Grazie in anticipo per le info!

  2. #2
    Infatti è impossibile scrivere e leggere dati binari in quel modo, in quanto quello che viene scritto durante la serializzazione non è solo il "valore" dell'oggetto ma anche altre informazioni che serviranno a java quando andrai a rileggere tale oggetto.
    La soluzione più ovvia e di non serializzare il contenuto della tua collection ma tutta la collection che contiene i tuoi oggetti.

  3. #3


    è quello che ho fatto fino ad ora ma stavo pensando che magari fosse più performante fare più accessi in lettura su file che caricare ogni volta anche dei dati che potrebbero non essere utilizzati durante la sessione di avvio del sistema e la serializzazione mi sembrava la soluzione più elegante per memorizzarli come oggetti.. ci possono essere alternative? un file specifico per ogni utente con tutte le sue informazioni serializzate?
    Se avessi molti dati sarebbero più convenineti le letture su file?

  4. #4
    Altre soluzioni potrebbero essere spezzare le informazioni su più file in modo da caricarle quando ti servono, ovviamente dipende molto da cosa stai sviluppando.
    Usare un database che di solito si presta molto meglio alla memorizzazione e all'accesso ad un file.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.