Java ObjectInputStream

Java ObjectInputStream
“Informasjon skrevet via objektet til en ObjectOutputStream er først og fremst tilgang til ved hjelp av ObjectInputStream -klassen. Hovedmålet med ObjectInputStream -klassen vil være å rekonstruere de grunnleggende dataene og enhetene som produseres ved å bruke ObjectOutputStream -klasse. Ved å bruke et stikksetting, kan objectInputStream også brukes til å overføre objekter på tvers av forskjellige verter. Derfor har vi bestemt oss for å skrive en nyttig guide for Ubuntu 20.04 System for å kaste av ObjectInputStream -klasseobjektet for å lese data fra filinndatastrømmen. La oss starte med åpningen av en konsoll.”

Eksempel 01

Starter artikkelens første eksempel, har vi opprettet en ny Java -fil, “Test.Java ”. Etter det genererte vi også en tekstfil i samme mappe.

For å lese objekter av inngangsstrømmen i et Java -program, må vi importere utgangsstrømmen. Så vi har importert “Java.io.ObjectInputStream ”og“ Java.io.ObjectOutputStream ”-pakker i starten. Sammen med det, for å sette inn dataene i en fil, må vi importere “Java.io.FileInputStream ”og“ Java.io.FileInputStream ”. Vi har laget en klasse "Main" som holder en enkelt hovedfunksjon ().

Funksjonsutførelsen starter fra erklæringen om en heltallvariabel “D”. For å unngå den plutselige avkjørselen til programmet på grunn av feil, la vi til prøvekampanlegget til Java. "Prøv" -delen starter med initialiseringen av en filutgangsstrømobjekt "F" via FileOutputStream -klassen. Vi har bestått filnavnet “NYTT.txt ”til dette objektet“ f ”. Vi har opprettet en objektutgangsstrøm “O” og gitt filobjektet “F” til ObjectOutputStream -klassen for å lage en fil til en utgangsstrøm.

Helt neste linje har vi kalt Writint () -funksjonen til Java -utgangsstrømmen via utgangsstrømobjektet “O” for å passere det en heltallvariabel “D,” i.e., For å lagre den i en fil. På linje 12 har vi opprettet filinngangsstrøm “FS” ved å bruke FileInputStream -klassen til Java ved å gi den en fil “Ny.txt, ”jeg.e., har allerede data i den. Dette filinngangsstrømmen "FS" er blitt sendt til det ny genererte objektet "OS" i ObjectInputStream -klassen for å aktivere lesing fra filstrømmen. Println () -funksjonen fra “Systemet.ut ”-pakken til Java har blitt avgitt for å kalle readInt () -funksjonen via objektinngangsstrømobjektet“ OS ”for å vise dataene fra det nye.txt -fil. Etter det har vi lukket utgangsstrømmen og inngangsstrømmen ved å bruke deres respektive objekter “O” og “OS” ved å bruke den "lukkede" funksjonen til filhåndtering i Java. Dette er et nødvendig trinn for å lukke strømningene slik at ingen andre brukere kan legge inn eller sende ut data fra en fil. Innenfor fangst () -klæringen har vi brukt GetStackTrace () -funksjonen for å få en feil og vise den på skjermen via unntaksvariabelen “E”. Dette programmet er klart for utførelse på skallet.

Vi hadde nettopp lagret vår Java -kodefil før utførelsen og brukte Java -søkeordinstruksjonen for å utføre “Testen.Java ”-fil. Det returnerer ingenting til gjengjeld. Også å vise dataene til en tekstfil “Ny.txt ”på skallet ved hjelp av“ Cat ”-instruksjonen viste en søppelverdi. Dette er fordi mesteparten av tiden ikke er Java -eksekutoren i stand til å lese heltallverdien fra filen. Men sannsynligvis vil det vise den nøyaktige heltallverdien.

Når du sjekker det nye.TXT -fil ved å åpne den manuelt, har vi sett at et Unicode -format av verdien er vist i filen.

Hvis du ikke kan vise heltallverdien fra filstrømmen, kan du bruke WritObject () -funksjonen i Java -programmet i stedet for Writint () -funksjonen for å skrive verdien “D” til filstrømmen via objektet “O” som vist. Sammen med det må du kaste av "ReadObject ()" -funksjonen i stedet for ReadInt () -funksjonen for å vise dataene fra filinndatastrømmen.

Oppdatering av denne koden vil vise heltallverdien ved utførelse.

Eksempel 02

La oss ha en annen verdi av Java -programmering for å kaste av seg objektinngangsstrømmen for strengtypeverdien. Dermed har vi startet denne eksempelkoden med import av samme fileinputstream, fileutputStream, ObjectInputStream og ObjectOutputStream -klasser av Java fra “IO” -pakken til Java -biblioteket. Hovedklassen har sin viktigste () -funksjon for å begynne å utføre denne koden. En strengvariabel “D2” initialiseres med en lang strengverdi.

Den samme prøvekampen er blitt avgitt for å unngå feilen og for jevn utførelse av denne Java-koden. Objektet “F” for filutgangsstrømmen er opprettet via FileOutputStream -klassen som tar “Ny.txt ”som et argument. Filutgangsstrømobjektet “F” er overført til outputstrømobjektet “O” som er opprettet ved bruk av ObjectOutputStream -klasse. Nå har outputestrømmen “O” ringt om WritObject () -funksjonen ved å gi den en strengvariabel “D” som skal skrives i filen “Ny.tekst".

Deretter opprettet en filinngangsstrøm "FS" ved å bruke FileInputStream -klassen ved å sende den til et filnavn “Ny.txt, ”jeg.e., å lese dataene fra dem. Nå vil ObjectInputStream Class -objektet “OS” bruke File Input Stream -objektet “FS” for å lese dataene ved å bruke READOBJECT () -funksjonen til Java i “Println” utførelsesuttalelsen til “Systemet.ut ”klasse. Deretter har vi en tendens til å lukke inngangs- og utgangsstrømmene ved å kalle "lukk" -funksjonen, og fangstuttalelsen brukes til å få noen unntak for å ha skjedd i forsøksdelen og unngå den plutselige avslutningen av denne programmets utførelse.

Utførelsen av denne Java -kodefilen og tekstfilen viste strengverdien på konsollen.

Konklusjon

Bruken av ObjectInputStream -klasse er den eneste metoden som er tilgjengelig for lesestoffer som bruker den serialiserbare eller eksternaliserbare protokollen. For å oppsummere, har vi inkludert alle nødvendige detaljer for å bruke Javas ObjectInputStream -klasse for å lese data fra File Object Input Stream. For dette har vi kastet to forskjellige Java -kodeeksempler her. Det første eksemplet bruker inndatellverdien for heltallstype, mens den andre illustrasjonen har støpt av strengvariabelen, i.e., Les fra inndatafilstrømmen.