Java File Input Stream i Ubuntu 20.04

Java File Input Stream I Ubuntu 20 04



'I denne artikkelen vil vi diskutere forskjellige måter å lese data fra filer til en byte-array ved å bruke Java Input Stream-klassen. Denne klassen representerer en sortert strøm av byte fra en fil. Det er flere funksjoner i Java Input Stream-klassen som er ofte brukt og vil bli diskutert i denne artikkelen, som read(), available(), skip() og close()-metodene. Disse metodene brukes til å lese filer med forskjellige utvidelser som bin eller txt-filer og kan endres for å få informasjon fra et hvilket som helst punkt i filen. Vi vil implementere disse metodene i Ubuntu 20.04-miljøet i denne artikkelen.

Det er mange flere metoder for File Input Stream-klassen som også er svært nyttige for å hente data fra en fil; noen av dem er int read(byte[] b), denne funksjonen leser data fra inngangsstrømmen opp til b.length byte i lengde. File Channel får kanalen(): Det spesifikke File Channel-objektet som er koblet til filinndatastrømmen, returneres ved å bruke det. Finalize() brukes til å sikre at close()-funksjonen påkalles når det ikke lenger er referanse til filinndatastrømmen.'

Eksempel 01: Lese en enkelt byte fra en tekstfil ved å bruke read() og close()-metodene for Input Stream Class

Dette eksemplet bruker File Input Stream til å lese et enkelt tegn og skrive ut innholdet. Anta at vi har en fil som heter 'file.txt' med innholdet vist nedenfor:









Anta at vi har en fil som heter 'file.txt' med innholdet vist ovenfor. La oss nå prøve å lese og skrive ut det første tegnet i filen.







Vi må først importere java.io. File Input Stream-pakke for å konstruere en filinndatastrøm. Deretter vil vi opprette et nytt objekt av File Input Stream som vil bli koblet til filen spesifisert (file.txt) i variabel 'f'.

I dette eksemplet vil vi bruke 'int read()'-metoden til Java File Input Stream-klassen, som brukes til å lese en enkelt byte fra filen og lagre den i variabelen 'I'. Deretter viser 'System.out.print(char(i))' tegnet som tilsvarer den byten.



f.close()-metoden lukker filen og strømmen. Vi vil få følgende utdata etter å ha bygget og kjørt det ovennevnte skriptet, siden vi kan se at bare den første bokstaven i teksten 'L' skrives ut.

Eksempel 02: Lese alt innholdet i en tekstfil ved å bruke read()- og close()-metodene for Input Stream Class

I dette eksemplet skal vi lese og vise alt innholdet i en tekstfil; som vist under:

Nok en gang vil vi importere java.io. File Input Stream-pakke for å konstruere en filinndatastrøm.

Først vil vi lese den første byten av filen og vise det tilsvarende tegnet inne i while-løkken. While-løkken vil kjøre til det ikke er noen byte igjen, det vil si slutten av teksten i filen. Linje 12 vil lese neste byte, og løkken vil fortsette til den siste byten i filen.

Etter å ha kompilert og utført koden ovenfor, vil vi få følgende resultater. Som vi kan se, vises hele teksten til filen 'Lorep Ipsum' i terminalen.

Eksempel 03: Bestemme antall tilgjengelige byte i en tekstfil ved å bruke den tilgjengelige() metoden for inndatastrømklasse

I dette eksemplet vil vi bruke File Input Streams 'available()'-funksjon for å bestemme antall eksisterende byte i filinndatastrømmen.

Først genererte vi et objekt med filinndatastrømklasse kalt 'a' med følgende kode. I linje 5 brukte vi 'available()'-metoden for å bestemme og vise den totale mengden tilgjengelige byte i filen. Så fra linje 6 til linje 8 brukte vi 'read()'-funksjonen tre ganger. Nå i linje 9 brukte vi 'available()'-metoden igjen for å sjekke og vise de gjenværende bytene.

Etter å ha kompilert og kjørt koden, kan vi se at den første linjen i utdata viser det totale antallet tilgjengelige byte i filen. Den neste linjen viser antall tilgjengelige byte på slutten av koden, som er 3 mindre enn de tilgjengelige bytene i begynnelsen. Dette er fordi vi brukte lesemetoden tre ganger i koden vår.

Eksempel 04: Hoppe over bytes av en tekstfil for å lese data fra et spesifikt punkt ved å bruke skip()-metoden for input-strømklasse

I dette eksemplet vil vi bruke 'skip(x)'-metoden til File Input Stream, som brukes til å ignorere og se bort fra det gitte antallet byte med data fra inngangsstrømmen.

I koden nedenfor har vi først opprettet en filinndatastrøm og lagret den i variabelen 'a'. Deretter har vi brukt 'a.skip(5)'-metoden, som vil hoppe over de første 5 bytene av filen. Deretter skrev vi ut de gjenværende tegnene i filen ved å bruke 'read()'-metoden inne i en while-løkke. Til slutt lukket vi filinndatastrømmen med 'close()'-metoden.

Nedenfor er skjermbildet av terminalen etter kompilering og kjøring av koden. Som vi kan se, vises bare 'Ipsum' da vi har hoppet over de første 5 bytene ved å bruke 'skip()'-metoden.

Konklusjon

I denne artikkelen har vi diskutert bruken av File Input Stream-klassen og dens forskjellige metoder; read(), tilgjengelig(), skip() og close(). Vi brukte disse metodene til å lese det første elementet i en fil ved å bruke metodene read() og close(). Deretter leser vi hele filen gjennom den iterative tilnærmingen og bruker de samme metodene. Deretter brukte vi tilgjengelig()-metoden for å bestemme antall byte som er tilstede ved starten og fullføringen av filen. Etter det brukte vi skip()-metoden for å hoppe over flere byte før vi leste filen, noe som tillot oss å få de spesifikke dataene vi trengte.