Hvordan lese en fillinje for linje i Java

Hvordan lese en fillinje for linje i Java
Filer kan være enorme i størrelse som inneholder hundrevis og tusenvis av informasjonslinjer, så i stedet for å lese hele filen som vil ta systemressurser, kan vi skrive ut tekstfiler linje for linje ved hjelp av BufferedReader klasse i Java. Så i denne artikkelen vil vi gi deg en grundig forklaring sammen med en kode som kan brukes til å lese filene dine. Så la oss komme i gang

Lese filer linje-for-linje ved hjelp av bufferedreader-klasse i java

For å lese hvilken som helst fil du trenger for å initialisere en filhåndteringsprosess i Java som du kan gjøre ved å skrive:

Importer Java.io.*;

Deretter har vi importert en klasse som brukes til å lese data fra tastaturet når du trykker på brukeren som vist nedenfor:

Importer Java.util.Skanner;

Etter det har vi opprettet en offentlig klasse der all koding vil ligge ved å skrive:

public class FileReaderLineByline
..

Dette vil være hovedfunksjonen din i en klasse der vi har bestått strengargumentet:

public static void main (String [] args)

Nå initialiserer vi en fil med navnet 'ansatte.txt 'sammen med banen der den ligger:

Fil F = ny fil ("Ansatte.tekst");

Nå har vi initialisert en filleservariabel 'FR' som vil bli brukt til å hente innholdet i hele filen og opprinnelig sette verdien til NULL:

FileReader FR = NULL;

Etter det har vi også initialisert en bufret leser som vil bli brukt til å lese fyllinjen for linje og sette verdien også til NULL:

BufferedReader BR = NULL;

Det er et obligatorisk trinn å implementere unntakshåndteringsprosessen her, da det noen ganger er mulig at du leser en fil som er enorm eller i tilfelle feil oppstår, kan programmet krasjet som gjør en fil korrupt som du prøver å lese. Så for å gjøre det må du implementere "prøve" og "fange" -prosessen. Inne i prøveorganet, bør du lese filen for sikkerhetsformål som vist nedenfor:

prøve

fr = ny java.io.FileReader (F);
BR = ny BufferedReader (FR);
mens ((linje = br.readline ())!= null)

System.ute.println (linje);

br.Lukk();
fr.Lukk();

Det er veldig viktig å lese filer linje for linje fordi noen ganger har filen en enorm størrelse og du ikke kan lese hele filen, da dette vil ha stor innvirkning på ytelsen til systemet ditt. Nå er det neste som fangstdelen som bare vil utføre hvis det oppstår noen feil under fillesingsprosessen og syntaks er som følger.

fangst (ioException ex)
System.feil.println ("Feil mens du leser fil:"+ eks.getMessage ());

Det er her vi vil vise deg hele koden som vi har forklart i biter i forrige del som vises nedenfor:

Importer Java.io.*;
Importer Java.util.Skanner;
public class FileReaderLineByline
public static void main (String [] args)
System.ute.Println ("Lese fillinje-for-linje ved hjelp av BufferedReader-objekt \ n");
System.ute.println ("");
Fil F = ny fil ("Ansatte.tekst");
FilReaderFR = NULL;
BufferedReaderbr = null;
prøve

Strenglinje;
fr = ny java.io.FileReader (F);
BR = ny BufferedReader (FR);
mens ((linje = br.readline ())!= null)

System.ute.println (linje);

br.Lukk();
fr.Lukk();
//prøve
fangst (ioException ex)
System.feil.println ("Feil mens du leser fil:"+ eks.getMessage ());
//å fange
//hoved()
//klasse

Hvis du vil utføre denne Java -koden i Linux -operativsystemet, kan du gjøre det ved å bruke hvilken som helst tekstredigerer etter eget valg. For eksempel bruker vi en Nano Text Editor, så vi vil gjøre det ved å skrive.

$ Nano FileReaderLineByline.Java

Neste trinn er å skrive koden og deretter lagre den:

For å utføre denne koden må du først sørge for at du har installert Java Development Kit (JDK) -applikasjonen i Linux -operativsystemet ditt ved å skrive:

$ sudo apt install standard-jdk

Etter det må du samle koden først før du prøver å utføre programmet.

$ Javac FileReaderLineByline.Java
$ Java FileReaderLineByline

Nå kan du se at etter å ha utført filen er det å lese data som er tilgjengelig i tekstfilen til “Ansatte.tekst" som vises nedenfor:

Merk: Du må åpne en terminal og deretter få tilgang til den samme katalogen der denne tekstfilen er til stede, ellers vil du ikke kunne lese denne filen.

Lese filer linje-for-linje ved hjelp av skannerklasse i Java

Det er en metode til å lese Files Line for Line er ved å bruke en skannerklasse i Java, og for det må du skrive.

Importer Java.io.Fil;
Importer Java.io.FilenotfoundException;
Importer Java.util.Skanner;
offentlig klasse ReadFilelineByline
public static void main (String [] args)
prøv
Skanner skanner = ny skanner (ny fil ("Ansatte.tekst"));
mens (skanner.hasnextline ())
System.ute.Println (skanner.nextline ());

skanner.Lukk();
fangst (filenotFoundException e)
e.printStackTrace ();


Konklusjon

Noen ganger kan filer være enorme i størrelse som inneholder hundrevis og tusenvis av informasjonslinjer. I stedet for å lese hele filen som vil ta systemressurser, kan vi lese dem linje for linje ved hjelp av BufferedReader klasse i Java. I denne artikkelen har vi lært deg hvordan du kan lese hvilken som helst fil ved hjelp av et Java -programmeringsspråk, og for det må du importere filhåndteringsprosessen. Du må også implementere prøve- og fangstprosessen som brukes til å håndtere filen unntak i tilfelle feil mens du leser en fil som har blitt diskutert i denne artikkelen.