Java BufferedReader: Kuinka lukea tiedostoa Java esimerkin kanssa

Kuinka lukea tiedosto sisään Java?

Java tarjoaa useita mekanismeja tiedostosta lukemiseen. Hyödyllisin paketti, joka tarjotaan tähän on java.io.Reader. Tämä luokka sisältää luokan Java BufferedReader paketin java.io alla.BufferedReader

Mikä on BufferedReader sisään Java?

BufferedReader on Java luokka lukee tekstin syöttövirrasta (kuten tiedostosta) puskuroimalla merkkejä, jotka lukevat saumattomasti merkkejä, taulukoita tai rivejä. Yleensä jokainen Readerin tekemä lukupyyntö saa aikaan vastaavan lukupyynnön taustalla olevasta merkki- tai tavuvirrasta.

Siksi on suositeltavaa kääriä BufferedReader sisään Java minkä tahansa Readerin ympärillä, jonka read()-toiminnot voivat olla kalliita, kuten Java FileReaders ja InputStreamReaders. Tyypillinen käyttö tarkoittaisi tiedostopolun välittämistä tiedostoon BufferedReader sisään Java seuraavasti:

objReader = new BufferedReader(new FileReader("D:\DukesDiary.txt"));
//Assuming you have a text file in D drive

Tämä periaatteessa lataa tiedostosi objReaderiin. Nyt sinun on toistettava tiedoston sisältö ja tulostettava se.

- samalla silmukka alla olevassa koodissa lukee tiedoston, kunnes se on saavuttanut tiedoston loppuun

while ((strCurrentLine = objReader.readLine()) != null) {
    System.out.println(strCurrentLine);
}

strCurrentLine lukee nykyisen rivin ja Java readLine-funktio objReader.readLine() palauttaa merkkijonon. Siten silmukka toistuu, kunnes se ei ole nolla.

BufferEsimerkki edReaderistä

Alla koodi on a Java BufferedReader-esimerkki, joka näyttää täydellisen toteutuksen:

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;

public class ReadFileExample {

 public static void main(String[] args) {
  BufferedReader objReader = null;
  try {
   String strCurrentLine;

   objReader = new BufferedReader(new FileReader("D:\\DukesDiary.txt"));

   while ((strCurrentLine = objReader.readLine()) != null) {

    System.out.println(strCurrentLine);
   }

  } catch (IOException e) {

   e.printStackTrace();

  } finally {

   try {
    if (objReader != null)
     objReader.close();
   } catch (IOException ex) {
    ex.printStackTrace();
   }
  }
 }
}

Huomautus:

Yllä olevalla koodilla on joitain erittäin tärkeitä käsittelyjä varsinkin koodin viimeisessä lohkossa.

Tämä koodi varmistaa, että Muistinhallinta tehdään tehokkaasti ja kutsutaan objReader.close()-menetelmää, joka vapauttaa muistin.

BufferedReader JDK7 Esimerkki

Alla on esimerkki Java Lue tiedostoja käyttämällä BufferedReader-luokka

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;

public class ReadFileExample_jdk7 {

 private static final String FILENAME = "D:\\DukesDiary.txt";

 public static void main(String[] args) {

  try (BufferedReader br = new BufferedReader(new FileReader(FILENAME))) {

   String strCurrentLine;

   while ((strCurrentLine = br.readLine()) != null) {
    System.out.println(strCurrentLine);
   }

  } catch (IOException e) {
   e.printStackTrace();
  }
 }
}