Java leste fil til byte -matrise

Java leste fil til byte -matrise

Når du leser innholdet i en fil som presenteres som en serie byte, er FileInputStream nyttig. Hensikten med FileInputStream er å lese byte -sekvenser, inkludert bildedata. Prøv å ansette FileReader for å lese brevstrømmene. Java -språket kom med den leste (byte []) -funksjonen til FileInputStream -klassen som brukes til å resitere informasjon fra inngangsstrømmen opp til dokumentets størrelse. Deretter forvandle byte sammen til en byte -matrise. Vi vil vise deg noen av de enkle eksemplene på Java for å lese filinnholdet i en byte -matrise. Før vi tar en titt på Java -koden for å lese en fil til en byte -matrise, må vi generere en Java -fil som vil bli brukt til koding. Java -kodefilen skal opprettes med ".Java ”utvidelse med berøringsforespørselen på kommandolinjen. Når vi bruker "LS" -liste -spørringen, har vi listet opp innsiden av hjemmekatalogen og funnet "matrisen.java ”-fil i den.

For å lese en fil til en byte -matrise, må vi ha noen tekstfil med innhold i den. Derfor har vi brukt "berørings" -instruksjonen for å lage en tekstfil denne gangen: ny.tekst. Når du bruker "LS" -instruksjonen, er den i hjemmemappen, og vi har åpnet den med tekstredigereren manuelt for å legge til data i den.

Eksempel nr. 01

Innenfor dette eksemplet la vi til tre-linjers data i det nye.txt -tekstfil og lagret den i samme hjemmekatalog i henhold til CAT -spørringen. Deretter vil vi bruke FileInputStream () -klassen for å lese data fra filstrømmen og lagre dem i en byte -matrise.

Siden vi skal bruke konseptet med streaming i dette Java -kodeeksemplet, må vi importere filklassen og FileInputStream -klassen til koden. Så vi har brukt "Import" nøkkelordet sammen med navnet på en hel pakke for å importere begge pakkene med hell: Java.io.Fil, og java.io.FileInputStream. Etter importen av begge de nødvendige pakkene har vi definert en ny brukerdefinert klasse "Array" som vil implementere vår Main () utførelsesfunksjon.

Den viktigste () -funksjonen startet med opprettelsen av et filklasseobjekt “F” ved å sende det en bane for at en fil skal leses som en byte -matrise, ny.tekst. Deretter har et objekt "i" for inngangsstrømmen blitt generert ved bruk av "F" -filobjektet i argumentene til en FileInputStream () -funksjon. Dette objektet har opprettet en inngangsstrøm som bruker, vi kan lese filen. Etter dette har vi laget en byte -matrise “A” ved hjelp av byte [] variable objekt ved å bruke lengden () -funksjonen i den for å stille lengden for en byte -matrise den samme som fillengden. Input Stream -objektet “I” er blitt kastet av for å ringe lest () -funksjonen til Java som passerer det en byte -matrise “A” for å lese data fra filen og legge den til byte -matrise “A”.

Nå har denne byte -matrisen “A” blitt passert konstruktøren av strengklassen for å lage en streng med innholdet og lagre den i strengvariabelen “Val”. Strengvariabelen “val” vil bli brukt i systemet.ute.println () funksjonserklæring for å skrive ut det konverterte innholdet i en fil til en byte -matrise på skallskjermen. La oss først lagre koden vår før vi kjører den.

Etter å ha lagret vår Java -kode, har vi utført den på konsollområdet med "Java" nøkkelordkommandoen. Alle de tre linjene fra filen “Ny.txt ”vises på konsollskjermen etter konvertering til en byte -matrise. Dette var den enkleste måten å gjøre det på.

Eksempel # 02

La oss se på en annen metode for å lese en fil til en byte -matrise i Java med en annen filverdi. Denne gangen har vi oppdatert det nye.txt -fil i henhold til utdataene fra "Cat" -instruksjonen nedenfor. Nå inneholder tekstfilen vår settet med noen tall på tre separate linjer.

Vi vil bruke ReadallBytes () -funksjonen til Java i dette eksemplet for å lese filen i en byte -matrise. For dette har vi importert alle nødvendige pakker med Java. Den aller første og hovedpakken er “Java.io ”som har importert alle underklassene via“*”-tegnet. Etter dette, IOException Class fra Java.IO -pakken er importert for å bruke unntakshåndtering i Java -koden.

Etter det har vi importert Arrays () -klassen fra UTil-pakken med Java og importert underklassene “Files”, “Path” og “Paths” fra “File” -klassen til en “NIO” -pakke. Vi har navngitt den nye klassen som "matrise" og brukt main () -funksjonen i den. Path () -klassen har opprettet et objekt “P” som har fått banen til en tekstfil “Ny.txt ”fra get -funksjonen til en baneklasse. Objektbanen “P” er gitt til ReadallBytes () -funksjonen fra filklassen for å konvertere dataene til en fil til en byte -matrise “A”.

Til slutt har PRINTLN () uttalelsen vært her for å konvertere byte -array til streng ved hjelp av toString () -funksjonen til en Arrays () -klasse.

Vi har dataene vist som en streng etter konvertering fra en byte -matrise ved utførelse.

Konklusjon

Her har vi diskutert viktigheten av FileInputStream -klassen til Java. Vi har også diskutert bruken av lesen () -funksjonen for å lese dataene til en fil til en byte -matrise. Etter dette har vi diskutert to metoder for å lese fildata i en byte -matrise. Det første eksemplet inneholder bruken av lesefunksjonen til FileInputStream -klassen, og det andre inneholder bruken av ReadAllbytes () -funksjonen til Files Class of Java for å gjøre det. Ved å bruke begge disse metodene har vi gitt en rekke Java -brukere å forstå og bruke dette konseptet.