Java RandomAccessFile

Java RandomAccessFile
Vi vil se på RandomAccessFile -klassen i denne artikkelen. Den bruker en markør for å flytte pekerstedet over filen. Muligheten til å få tilgang til filen gir den tilfeldig navnet, RandomAccessFile.

Eksempel 1: Legg til tekst på slutten av en fil

I dette eksemplet vil vi legge til teksten på slutten av følgende fil ved å bruke metodene i RandomAccessFile -klassen.

Først importerer vi Java.io. RandomAccessFile Class. Deretter lager vi et nytt objekt av RandomAccessFile Ved å ringe konstruktøren til randomAccessFile (“Fil.TXT ”,“ RW ”). Med filnavnet og modus bygger dette funksjonsobjektet () en randomAccessFile -strøm. I dette tilfellet er modus "RW" som lanserer filen i leseskrivemodus.

"Seek ()" -metoden brukes i neste linje med parameterfilen. Lengde () -metoden setter markøren/pekeren til den spesifiserte posisjonen. I forrige tilfelle er det slutten på filteksten. Deretter kalles WritBytes () -metoden med strengen ("Ipsum") som dens parametere. Denne metoden skriver strengen fra den nåværende filpekeren eller markøren. f.Lukk () -metoden lukker den tilfeldige tilgangsfilstrømmen. Eventuelle systemressurser som brukes av strømmen blir utgitt.

Etter å ha sammenstilt den gitte koden, kan vi se "vellykket lagt til data" i terminalen som indikerer at koden har kjørt vellykket. Deretter, hvis vi åpner “Filen.TXT ”-filen der vi la til dataene i koden vår, kan vi se at dataene våre er vedlagt på slutten av filen.

Eksempel 2: Lese tekst fra en tekstfil

I dette eksemplet vil vi lese innholdet i en tekstfil ved å bruke metodene i RandomAccessFile -klassen. Filen som skal leses i dette eksemplet er som vist i følgende:

I den gitte koden importerer vi først “Java.io.RandomAccessFile ”for å bruke metodene og funksjonene. Her oppretter vi en RandomAccessFile-strøm med modus “R” som representerer at den er i skrivebeskyttet modus. Den nåværende forskyvningen i byte fra filens start er gitt av “f.getFilePointer () ”-funksjon. Deretter leverer vi denne verdien til Seek () -funksjonen som angir filpekeren til begynnelsen av filen der neste lesning finner sted. Etter det genererer vi en 5-byte-matrise. Når lesemetoden kalles med denne matrisen som parameter (f.Les (byte)), de 5 byte blir lest fra filen og blir lagt til 5 byte -array.

F.Lukk () -metoden lukker RandomAccessFile -strømmen. Eventuelle systemressurser som brukes av strømmen blir utgitt.

Til slutt returnerer returbyte matrisen som teksten fra filen blir lest og lagt til. Dette kan sees i det følgende at bare 5 tegn fra filen vises på terminalen.

Eksempel 3: Skrive tekst i en tekstfil

I dette eksemplet vil vi bruke Seek (), skrive () og lukke () metoder for å skrive dataene i en tekstfil. Get Bytes -funksjonen brukes også i dette eksemplet for å skrive.

I den gitte koden importerer vi først Java.io. RandomAccessFile for å bruke metodene og funksjonene. Her oppretter vi en RandomAccessFile-strøm med modus “RW” som representerer at den er i leseskrivemodus. F.Søk (5) -metoden flytter filpekerposisjonen til 5th indeks. Deretter f.Skriv (“Data”.getBytes ()) skriver de nye byte av "data" og erstatter de eksisterende byte hvis noen er til stede på dette stedet.

F.Lukk () -metoden lukker RandomAccessFile -strømmen. Eventuelle systemressurser som brukes av strømmen blir utgitt.

Etter at samlingen er fullført, vises "vellykket lagt til data" -strengen på terminalen for å indikere at koden har kjørt vellykket. Tekstfilen der vi skrev teksten ved hjelp av RandomAccessFile vises i følgende:

Eksempel 4: Legge til, legge til tekst i en fil og lese teksten til filen

I dette eksemplet vil vi implementere alle de forskjellige tilnærmingene som vi kan ta i bruk med RandomAccessFile Class -objektet og dets flere funksjoner for å skrive, legge til og lese dataene fra en tekstfil.

Vi oppretter tre forskjellige funksjoner i en enkelt klasse for å skrive, legge til dataene og lese innholdet i tekstfilen. I vedleggsdataene og skrive datafunksjon bruker vi skrive- () -funksjonen ved å bruke objektet til RandomAccessFile -klassen. I vedleggsdatafunksjonen legger vi til dataene etter den siste byten av filen ved hjelp av filen.lengde () funksjon som en parameter i Seek () -funksjonen. I skrivedatafunksjonen setter vi inn dataene i starten av filen ved å passere en heltallverdi i Seek () -funksjonen. Ved å gjøre dette, er Append Data -funksjonen i stand til å legge til dataene til slutten av filen. I den siste funksjonen bruker vi lesing () -funksjonen for å lese byte av filen. I denne funksjonen passerer vi to parametere som fungerer som området vi ønsker å lese dataene fra.

Som vi kan se i terminalen, viser utgangen bare de første 5 byte av filen, da området er satt i lese- () -funksjonen. Nå åpner vi tekstfilen og bekrefter at dataene er satt inn og vedlagt i riktig posisjon.

Som vi kan se i forrige utdrag, settes dataene i tekstfilen riktig etter at vi utførte Java -programmet vårt.

Konklusjon

Vi diskuterte bruken av RandomAccessFile -klassen i Java i denne artikkelen. Formålet med denne klassen brukes til å kalle de flere funksjonene som er lukrative når det gjelder å trekke ut og sette inn dataene i en tekstfil. Vi implementerte flere eksempler på de forskjellige metodene i denne klassen i Ubuntu 20.04 Miljø. Vi brukte skrive (), søke () og lese () metoder i disse eksemplene for å sette inn dataene i en tekstfil og lese innholdet i tekstfilen etter det.