Java File Input Stream i Ubuntu 20.04

Java File Input Stream I Ubuntu 20 04



'I denne artikel vil vi diskutere forskellige måder at læse data fra filer til et byte-array ved at bruge Java Input Stream-klassen. Denne klasse repræsenterer en sorteret strøm af bytes fra en fil. Der er flere funktioner i Java Input Stream-klassen, som er almindeligt anvendte og vil blive diskuteret i denne artikel, såsom read(), available(), skip() og close() metoderne. Disse metoder bruges til at læse filer med forskellige udvidelser som bin- eller txt-filer og kan ændres for at få information fra ethvert punkt i filen. Vi vil implementere disse metoder i Ubuntu 20.04-miljøet i denne artikel.

Der er mange flere metoder til File Input Stream-klassen, som også er meget nyttige til at hente data fra en fil; nogle af dem er int read(byte[] b), denne funktion læser data fra inputstrømmen op til b.length bytes i længden. File Channel får kanalen(): Det specifikke File Channel-objekt, der er forbundet til filinputstrømmen, returneres ved hjælp af det. Finalize() bruges til at sikre, at funktionen close() aktiveres, når der ikke længere er reference til filinputstrømmen.'

Eksempel 01: Læsning af en enkelt byte fra en tekstfil ved hjælp af read() og close() metoderne i inputstreamklassen

Dette eksempel bruger File Input Stream til at læse et enkelt tegn og udskrive indholdet. Antag, at vi har en fil ved navn 'file.txt' med indholdet vist nedenfor:









Antag, at vi har en fil med navnet 'file.txt' med indholdet vist ovenfor. Lad os nu prøve at læse og udskrive det første tegn i filen.







Vi skal først importere java.io. File Input Stream-pakke for at konstruere en filinputstrøm. Derefter vil vi oprette et nyt objekt af File Input Stream, der vil blive linket til filen specificeret (file.txt) i variabel 'f'.

I dette eksempel vil vi bruge metoden 'int read()' i Java File Input Stream-klassen, som bruges til at læse en enkelt byte fra filen og gemme den i variablen 'I'. Dernæst viser 'System.out.print(char(i))' tegnet, der svarer til den byte.



f.close()-metoden lukker filen og streamen. Vi vil opnå følgende output efter at have bygget og kørt det førnævnte script, da vi kun kan se begyndelsesbogstavet i teksten 'L' er udskrevet.

Eksempel 02: Læsning af alt indhold i en tekstfil ved hjælp af read() og close() metoderne i inputstreamklassen

I dette eksempel vil vi læse og vise alt indholdet af en tekstfil; som vist nedenfor:

Endnu en gang vil vi importere java.io. File Input Stream-pakke for at konstruere en filinputstrøm.

Først vil vi læse den første byte af filen og vise det tilsvarende tegn inde i while-løkken. While-løkken vil køre, indtil der ikke er nogen bytes tilbage, det vil sige slutningen af ​​teksten i filen. Linje 12 vil læse den næste byte, og løkken fortsætter indtil den sidste byte i filen.

Efter kompilering og eksekvering af ovenstående kode får vi følgende resultater. Som vi kan se, vises hele teksten i filen 'Lorep Ipsum' i terminalen.

Eksempel 03: Bestemmelse af antallet af tilgængelige bytes i en tekstfil ved at bruge den tilgængelige() metode for inputstreamklasse

I dette eksempel vil vi bruge File Input Streams 'available()'-funktion til at bestemme antallet af eksisterende bytes i filinputstrømmen.

Først genererede vi et objekt af filinput-stream-klasse ved navn 'a' med følgende kode. I linje 5 brugte vi metoden 'available()' til at bestemme og vise den samlede mængde af tilgængelige bytes i filen. Derefter fra linje 6 til linje 8 brugte vi funktionen 'read()' tre gange. Nu i linje 9 brugte vi 'available()'-metoden igen for at kontrollere og vise de resterende bytes.

Efter kompilering og kørsel af koden kan vi se, at den første linje i outputtet viser det samlede antal tilgængelige bytes i filen. Den næste linje viser antallet af tilgængelige bytes i slutningen af ​​koden, hvilket er 3 mindre end de tilgængelige bytes i begyndelsen. Dette skyldes, at vi brugte læsemetoden tre gange i vores kode.

Eksempel 04: Spring over bytes af en tekstfil for at læse data fra et bestemt punkt ved hjælp af skip()-metoden for input-stream-klasse

I dette eksempel vil vi bruge metoden 'skip(x)' for File Input Stream, som bruges til at ignorere og se bort fra det givne antal bytes data fra inputstrømmen.

I koden nedenfor har vi først oprettet en filinputstrøm og gemt den i variablen 'a'. Dernæst har vi brugt 'a.skip(5)'-metoden, som vil springe de første 5 bytes af filen over. Dernæst udskrev vi de resterende tegn i filen ved hjælp af 'read()'-metoden inde i en while-løkke. Til sidst lukkede vi filinputstrømmen ved hjælp af 'close()'-metoden.

Nedenfor er skærmbilledet af terminalen efter kompilering og kørsel af koden. Som vi kan se, vises kun 'Ipsum', da vi har sprunget de første 5 bytes over ved hjælp af 'skip()'-metoden.

Konklusion

I denne artikel har vi diskuteret brugen af ​​File Input Stream-klassen og dens forskellige metoder; read(), tilgængelig(), skip() og luk(). Vi brugte disse metoder til at læse det første element i en fil ved at bruge metoderne read() og close(). Derefter læser vi hele filen gennem den iterative tilgang og bruger de samme metoder. Derefter brugte vi metoden tilgængelig() til at bestemme antallet af bytes til stede ved starten og færdiggørelsen af ​​filen. Derefter brugte vi skip()-metoden til at springe flere bytes over, før vi læste filen, hvilket gjorde det muligt for os at få de specifikke data, vi havde brug for.