Java BufferedReader: Πώς να διαβάσετε το αρχείο σε Java με Παράδειγμα

Πώς να διαβάσετε ένα αρχείο σε Java;

Η Java παρέχει αρκετούς μηχανισμούς ανάγνωσης από το Αρχείο. Το πιο χρήσιμο πακέτο που παρέχεται για αυτό είναι το java.io.Reader. Αυτή η κλάση περιέχει την Κλάση Java BufferedReader κάτω από το πακέτο java.io.BufferedReader

Τι είναι BufferedReader σε Java;

BufferedReader είναι μια κλάση Java για την ανάγνωση του κειμένου από μια ροή εισόδου (όπως ένα αρχείο) από bufferλαμβάνοντας χαρακτήρες που διαβάζουν απρόσκοπτα χαρακτήρες, πίνακες ή γραμμές. Γενικά, κάθε αίτημα ανάγνωσης που γίνεται από έναν Αναγνώστη προκαλεί την υποβολή ενός αντίστοιχου αιτήματος ανάγνωσης του υποκείμενου χαρακτήρα ή της ροής byte.

Συνιστάται λοιπόν να τυλίξετε BufferedReader σε Java γύρω από οποιοδήποτε Reader του οποίου το read() operaΤα προγράμματα μπορεί να είναι δαπανηρά, όπως τα java FileReaders και τα InputStreamReaders. Μια τυπική χρήση θα περιλαμβάνει τη μετάδοση της διαδρομής του αρχείου στο BufferedReader σε Java ως εξής:

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

Αυτό ουσιαστικά φορτώνει το αρχείο σας στο objReader. Τώρα, θα πρέπει να επαναλάβετε τα περιεχόμενα του αρχείου και να το εκτυπώσετε.

Η ενώ βρόχος στον παρακάτω κώδικα θα διαβάσει το αρχείο μέχρι να φτάσει στο τέλος του αρχείου

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

Το strCurrentLine διαβάζει την τρέχουσα γραμμή και η συνάρτηση Java readLine objReader.readLine() επιστρέφει μια συμβολοσειρά. Ως εκ τούτου, ο βρόχος θα επαναλαμβάνεται μέχρι να μην είναι μηδενικός.

BufferΠαράδειγμα edReader

Ο παρακάτω κώδικας είναι μια Java BufferΠαράδειγμα edReader που δείχνει την πλήρη υλοποίηση:

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();
   }
  }
 }
}

Σημείωση:

Ο παραπάνω κώδικας έχει μερικούς πολύ σημαντικούς χειρισμούς ειδικά στο τελικό μπλοκ του κώδικα.

Αυτός ο κωδικός θα εξασφαλίσει ότι το Διαχείριση μνήμης γίνεται αποτελεσματικά και καλείται η μέθοδος objReader.close() που απελευθερώνει τη μνήμη.

BufferΠαράδειγμα edReader JDK7

Παρακάτω είναι το παράδειγμα της χρήσης Java Read Files Bufferτάξη edReader

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();
  }
 }
}