Java ObjectInputStream

Java ObjectInputStream
“Le informazioni scritte tramite l'oggetto di un ObjectOutputStream sono principalmente accessibili utilizzando la classe ObjectInputStream. L'obiettivo principale della classe ObjectInputStream sarebbe quello di ricostruire i dati di base e le entità prodotte utilizzando la classe ObjectOutputStream. Facendo uso di un Socketstream, ObjectInputStream può anche essere impiegato per trasferire oggetti su host diversi. Pertanto, abbiamo deciso di scrivere una guida utile per il nostro Ubuntu 20.04 Sistema da eliminare l'oggetto Classe ObjectInputStream per leggere i dati dal flusso di input del file. Cominciamo con l'apertura di una console."

Esempio 01

Iniziando il primo esempio del nostro articolo, abbiamo creato un nuovo file Java, "Test.Giava". Successivamente, abbiamo anche generato un file di testo nella stessa cartella.

Per leggere gli oggetti del flusso di input in un programma Java, dobbiamo importare il flusso di output. Quindi, abbiamo importato il "Java.io.ObjectInputStream "e" Java.io.Pacchetti ObjectOutputStream "all'inizio. Insieme a ciò, per inserire i dati in un file, dobbiamo importare il "Java.io.Fileinputstream "e" java.io.Fileinputstream ". Abbiamo creato una classe "principale" con una singola funzione principale ().

L'esecuzione della funzione inizia dalla dichiarazione di una variabile intera "D". Per evitare l'improvvisa uscita del programma a causa di errori, abbiamo aggiunto la dichiarazione di gara di Java. La parte "Try" inizia con l'inizializzazione di un oggetto Stream di output di file "F" tramite la classe FileOutputStream. Abbiamo superato il nome del file "Nuovo.txt "a questo oggetto" f ". Abbiamo creato un flusso di output di oggetti “O” e passato l'oggetto file “F” alla classe ObjectOutputStream per rendere un file un flusso di output.

Alla riga successiva, abbiamo chiamato la funzione WriteInt () del flusso di output Java tramite l'oggetto del flusso di output "O" per passarlo una variabile intera "d", i.e., Per salvarlo in un file. Nella riga 12, abbiamo creato il flusso di input del file "FS" utilizzando la classe FileInputStream di Java passandolo un file "nuovo.txt ", i.e., avere già dati in esso. Questo oggetto di flusso di input del file "FS" è stato passato all'oggetto appena generato "OS" della classe ObjectInputStream per abilitare la lettura dal flusso di file. La funzione println () dal "sistema.Il pacchetto out ”del Java è stato castoff per chiamare la funzione readint () tramite l'oggetto di input oggetto" OS "per visualizzare i dati dal nuovo.file txt. Successivamente, abbiamo chiuso il flusso di output e il flusso di input usando i rispettivi oggetti "O" e "OS" usando la funzione "Close" della gestione dei file in Java. Questo è un passo necessario per chiudere i flussi in modo che nessun altro utente possa inserire o output da un file. All'interno dell'istruzione Catch (), abbiamo utilizzato la funzione getStackTrace () per ottenere un errore e visualizzarlo sullo schermo tramite la variabile di eccezione "E". Questo programma è pronto per l'esecuzione sulla shell.

Avevamo appena salvato il nostro file di codice Java prima della sua esecuzione e abbiamo usato l'istruzione della parola chiave Java per eseguire il "test.File Java ". Non restituisce nulla in cambio. Inoltre, visualizzare i dati di un file di testo "nuovo.txt "sulla shell usando l'istruzione" Cat "ha visualizzato un valore della spazzatura. Questo perché, il più delle volte, l'esecutore Java non è in grado di leggere il valore intero dal file. Ma molto probabilmente, visualizzerà il valore intero esatto.

Al controllo del nuovo.file txt aprendolo manualmente, abbiamo visto che un formato Unicode del valore è stato mostrato nel file.

Se non è possibile visualizzare il valore intero dal flusso di file, è possibile utilizzare la funzione writeObject () nel programma Java anziché la funzione writeint () per scrivere il valore "d" nel flusso di file tramite l'oggetto "o" come visualizzato. Insieme a ciò, è necessario eliminare la funzione "readObject ()" anziché la funzione readint () per visualizzare i dati dal flusso di input del file.

L'aggiornamento di questo codice visualizzerebbe il valore intero durante l'esecuzione.

Esempio 02

Abbiamo un altro valore della programmazione Java per eliminare il flusso di input dell'oggetto per il valore del tipo di stringa. Pertanto, abbiamo avviato questo codice di esempio con l'importazione dello stesso FileInputStream, FileOutputStream, ObjectInputStream e ObjectOutputStream Classi di Java dal pacchetto "IO" della libreria Java. La classe principale ha la sua funzione principale () per iniziare a eseguire questo codice. Una variabile stringa "D2" è inizializzata con un valore di stringa lungo.

La stessa istruzione Try-Catch è stata il castoff per evitare l'errore e per un'esecuzione regolare di questo codice Java. L'oggetto "F" per il flusso di output del file è stato creato tramite la classe FileOutputStream che prendono "Nuovo.txt ”come argomento. L'oggetto di flusso di output del file "F" è stato passato all'oggetto flusso di output "O" che è stato creato mediante l'uso della classe ObjectOutputStream. Ora, il flusso di output "O" ha chiamato la funzione WriteObject () passandola una variabile stringa "D" da scrivere nel file "Nuovo.TXT".

Quindi, ha creato un flusso di input del file "FS" utilizzando la classe FileInputStream passandolo un nome di file "nuovo.txt ", i.e., per leggere i dati da esso. Ora, l'oggetto Classe ObjectInputStream "OS" userebbe l'oggetto del flusso di input del file "FS" per leggere i dati utilizzando la funzione ReadObject () di Java nell'istruzione di esecuzione "println" del "sistema.classe ”. Quindi, tendiamo a chiudere i flussi di input e output chiamando la funzione "chiusa" e l'istruzione catch viene utilizzata per ottenere qualsiasi eccezione che si verificano nella parte di prova ed evitare l'improvvisa chiusura di questo programma Esecuzione.

L'esecuzione di questo file di codice Java e il file di testo hanno visualizzato il valore stringa sulla console.

Conclusione

L'uso della classe ObjectInputStream è l'unico metodo disponibile per le sostanze di lettura che utilizzano il protocollo serializzabile o esternalizzabile. Per riassumere, abbiamo incluso tutti i dettagli necessari per utilizzare la classe ObjectInputStream di Java per leggere i dati dal flusso di input dell'oggetto file. Per questo, abbiamo lanciato due diversi esempi di codice Java qui. Il primo esempio utilizza il valore della variabile di input del tipo intero, mentre la seconda illustrazione è stata lanciata dal valore della variabile stringa, i.e., Leggi dal flusso di file di input.