Hvordan lese en tekstfil og lagre den i en matrise i Java

Hvordan lese en tekstfil og lagre den i en matrise i Java
Java lar oss lese en fil ved hjelp av forskjellige metoder og legge innholdet i filen i en matrise. Siden du kanskje ikke har noen anelse om det nøyaktige antallet linjer eller ord i en fil, er det bedre å bruke innsamlingslagringstypen til å lagre filens innhold i stedet for en statisk matrise. Denne matrisen kan brukes til å behandle linjene eller bare for leseformål.

Denne artikkelen vil beskrive metodene for å lese en tekstfil i Java og lagre den i en matrise.

Hvordan lese en tekstfil og lagre den i en matrise?

Det er fire metoder for å lese innholdet i en fil, for eksempel:

  • Skannerklassen
  • BufferedReader -klassen
  • ReadallLines () -metoden
  • FileReader -klassen

Merk: For demonstrasjonsformålet vil vi først opprette en tekstfil som heter "Javafile.tekst”Som inneholder følgende tekst:

LearnJava
Linuxhint

Nå vil vi diskutere de mest brukte Java -metodene for det nevnte formålet.

Metode 1: Les en tekstfil og lagre den i en matrise ved hjelp av skannerklasse

I Java, "Skanner”Klasse tilhører Java.Utilpakke pleide å lese data fra brukere for primitive datatyper. Det kan også brukes til å lese innhold fra en fil. For å laste inn innhold fra en fil, brukes skanner i kombinasjon med fil eller filereadereader.

La oss sjekke ut et eksempel for å forstå bruken av skanner for å lese en tekstfil og lagre den i en matrise.

Eksempel
I dette eksemplet vil vi først opprette en strengtype ArrayList som heter “stngfile”For å lagre tekstinnholdet i en fil:

Liste stngFile = ny ArrayList();

Deretter vil vi laste teksten til vår "Javafile.tekst”Ved å lage et nytt objekt av skannerklasse og passere filstien som et argument:

Skanner SCNR = ny skanner (ny filereader (
"C: \\ brukere \\ Mughals \\ Desktop \\ java \\ javafile.tekst"));

Som en betingelse for “samtidig som”Loop, bruk“hasNext ()”Metode for å bekrefte om det er noen strenger igjen i filen eller ikke. I kroppen vil det opprettede skannerobjektet lese filteksten og lagre den i ArrayList “stngfile”:

Streng str;
mens (scnr.hasnext ())
STR = SCNR.neste ();
stngfile.Legg til (str);

Etter å ha fått all filtekst i ArrayList, konverter den til Array ved å bruke “ToArray ()”Metode:

Til slutt, skriv ut verdiene som er lagret i matrisen ved hjelp av de for hver" Løkke:

for (streng hver string: array)
System.ute.println (hver string);

Den gitte utgangen indikerer at vi med hell har lest en tekstfil ved hjelp av skannerklasseobjekt og lagret innholdet i en matrise:

Se på den undergitte delen for å bruke BufferedReader-klassen for å lese en tekstfil.

Metode 2: Les en tekstfil og lagre den i en matrise ved hjelp av BufferedReader -klasse

BufferedReader”Er en annen Java -klasse som pleide å lese og laste inn filinnholdet i kombinasjon med fileraderen. Karakterfiler leses ved hjelp av FileReader -klassen. Den utfører en leseoperasjon på hvert tegn i filen. Å lese og laste inn innhold fra en fil ved hjelp av BufferedReader -klassen er betydelig raskere sammenlignet med andre metoder.

Eksempel
Først vil vi opprette et objekt i BufferedReader -klassen ved å overføre filstien til den:

BufferedReader bfredr = new BufferedReader(new FileReader
("C: \\ brukere \\ Mughals \\ Desktop \\ java \\ javafile.tekst"));

bfredr”Objekt vil lese en linje fra den spesifiserte filen ved å bruke“Readline ()”Metode og lagre den i“tekst”Strengtype variabel:

Strengtekst = bfredr.readline ();

Neste, legg til en "samtidig som”Sløyfe som kjøres til verdien av“tekst”Variabel blir“null”. Innenfor kroppen vil vi legge til gjeldende verdi av tekstvariabelen til "stngfile”ArrayList og oppdater verdien i henhold til neste linjers innhold:

mens (tekst != null)
stngfile.Legg til tekst);
tekst = bfredr.readline ();

bfredr.Lukk();

Konverter deretter den opprettede arraylisten til en matrise ved å bruke "ToArray ()”Metode:

String [] array = stngfile.ToArray (ny streng [0]);

Til slutt vil vi skrive ut tekstverdiene som er lagret i matrisen ved hjelp av "for hver" Løkke:

for (streng hver string: array)
System.ute.println (hver string);

Produksjon

Vi presenterte informasjonen relatert til å lese en tekstfil og lagre den i en matrise i Java.

Konklusjon

For å lese en tekstfil og lagre den i en matrise, gir Java mange metoder som skanner, bufferedreader og FileReader -klasser og Readalllines () -metoden. Imidlertid foretrekker Java -programmerere skanner- og bufferReder -klasser fordi BufferedReader -objektet er raskere, og skannerobjektet er best for å analysere tekstdata. I denne artikkelen beskrev vi metodene for å lese en tekstfil og lagre den i en matrise i Java i detalj.