Come serializzare un oggetto in Java: 8 passaggi (con immagini)

Sommario:

Come serializzare un oggetto in Java: 8 passaggi (con immagini)
Come serializzare un oggetto in Java: 8 passaggi (con immagini)

Video: Come serializzare un oggetto in Java: 8 passaggi (con immagini)

Video: Come serializzare un oggetto in Java: 8 passaggi (con immagini)
Video: Esempio di disegno geometrico realizzato con Inkscape 2024, Maggio
Anonim

Quando si serializza un oggetto in Java, si convertono i dati in flussi di byte che in seguito vengono riconvertiti nella copia dei dati originali. Se questo suona confuso, pensa alla serializzazione nei seguenti termini. Stai lavorando su un documento e poi lo salvi sul tuo disco rigido. Stai, per così dire, serializzando i dati in modo da poter recuperare quella copia in seguito. La serializzazione rende il trasferimento dei dati sulle reti molto più semplice ed efficiente.

È importante comprendere le basi di Java prima di serializzare un oggetto. Se hai utilizzato linguaggi di programmazione come Pascal e versioni precedenti di C, saprai che senza la serializzazione degli oggetti, un programmatore deve creare un file di testo I/O separato per archiviare e caricare i dati. La serializzazione degli oggetti in Java evita la creazione di questo file di testo per archiviare i dati, risparmiando tempo e costi di programmazione. Il seguente articolo contiene i passaggi per serializzare un oggetto in Java. Il codice di esempio in questo articolo viene utilizzato per gentile concessione di The Java Developers Almanac 1.4.

Passi

Serializzare un oggetto in Java Passaggio 1
Serializzare un oggetto in Java Passaggio 1

Passaggio 1. Aprire l'oggetto di codifica Java che richiede la serializzazione o crearne uno da zero

Serializzazione di un oggetto in Java Passaggio 2
Serializzazione di un oggetto in Java Passaggio 2

Passaggio 2. Selezionare l'oggetto in Java che si desidera serializzare

In questo esempio, chiameremo quell'oggetto "MyObject".

Serializzazione di un oggetto in Java Passaggio 3
Serializzazione di un oggetto in Java Passaggio 3

Passaggio 3. Abilitare la serializzazione degli oggetti in Java facendo in modo che la classe MyObject implementi l'interfaccia java.io. Serialize

Basta aggiungere la seguente riga di codice all'inizio del codice, sostituendo la "classe pubblica MyObject" line.public class MyObject implementa java.io. Serializable

Serializzazione di un oggetto in Java Passaggio 4
Serializzazione di un oggetto in Java Passaggio 4

Passaggio 4. Ora il tuo oggetto è serializzabile, ciò significa che può essere scritto da un flusso di output, in questo modo:

  • Le seguenti righe di codice illustrano come scrivere MyObject (o qualsiasi oggetto serializzabile) su un file o su un disco.

    Tentativo{

    // Serializza l'oggetto dati in un file

    ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream("MyObject.ser"));

    out.writeObject(oggetto);

    out.close();

    // Serializza l'oggetto dati su un array di byte

    ByteArrayOutputStream bos = new ByteArrayOutputStream();

    out = new ObjectOutputStream(bos);

    out.writeObject(oggetto);

    out.close();

    // Ottieni i byte dell'oggetto serializzato

    byte buf = bos.toByteArray();

    } catch (IOException e) {

    }

Serializzazione di un oggetto in Java Passaggio 5
Serializzazione di un oggetto in Java Passaggio 5

Passaggio 5. Può essere letto in questo modo:

try{ porta FileInputStream = new FileInputStream("nome_del_file.sav"); Lettore ObjectInputStream = new ObjectInputStream(door); MioOggetto x = new MioOggetto(); x = (MyObject) reader.nextObject();}catch (IOException e){ e.printStackTrace();}

Serializzazione di un oggetto in Java Passaggio 6
Serializzazione di un oggetto in Java Passaggio 6
Serializzazione di un oggetto in Java Passaggio 7
Serializzazione di un oggetto in Java Passaggio 7

Passaggio 6. Eseguire il codice oggetto serializzato all'interno del programma Java per assicurarsi che funzioni in modo efficace (facoltativo)

Esegui un file Java. Jar Passaggio 9
Esegui un file Java. Jar Passaggio 9

Passaggio 7. Salva e chiudi l'oggetto serializzato in Java

Suggerimenti

  • I miglioramenti della serializzazione in Java SE Development Kit 6 consentono di utilizzare ObjectStreamClass per cercare qualsiasi metodo per gestire qualsiasi oggetto di classe non serializzabile.
  • Per migliorare i tempi di lettura e scrittura in alberi di oggetti di grandi dimensioni, utilizzare la parola chiave "transient" per le variabili di istanza che non richiedono la serializzazione. Ciò aumenterà le prestazioni in quanto non stai più leggendo e scrivendo dati non necessari nel processo di serializzazione.

Avvertenze

  • Java esce con una nuova versione del kit dello sviluppatore quasi ogni anno. Le nuove versioni includono aggiornamenti e modifiche al modo in cui è possibile serializzare un oggetto in Java. Pertanto, è importante monitorare i cambiamenti nella versione che stai utilizzando.
  • Durante la serializzazione di oggetti, non è possibile crittografare i flussi di dati. Pertanto, sarà necessario fare affidamento su altre applicazioni o processi di trasporto di rete secondari per proteggere i dati, se necessario.
  • Al momento non esiste alcuna opzione che ti permetta di scrivere oggetti in un file ad accesso casuale. È invece possibile utilizzare i flussi di output di input dell'array di byte come segnaposto da cui leggere e scrivere gli oggetti. Tuttavia, assicurati che l'intero oggetto sia nel flusso dell'array di byte o il processo avrà esito negativo.

Consigliato: