Java BufferedReader: วิธีอ่านไฟล์ในรูปแบบ Java พร้อมตัวอย่าง

วิธีอ่านไฟล์ในรูปแบบ Java?

Java มีกลไกต่างๆ มากมายสำหรับการอ่านจากไฟล์ แพ็คเกจที่มีประโยชน์ที่สุดที่มีให้คือ java.io.Reader คลาสนี้ประกอบด้วยคลาส Java BufferedReader ภายใต้แพ็คเกจ java.ioBufferedReader

ความหมายของ BufferedReader ใน Java?

BufferedReader คือ Java คลาสสำหรับอ่านข้อความจากสตรีมอินพุต (เช่นไฟล์) โดยการบัฟเฟอร์อักขระที่อ่านอักขระ อาร์เรย์ หรือบรรทัดได้อย่างราบรื่น โดยทั่วไป คำขออ่านแต่ละรายการที่ส่งมาจาก Reader จะทำให้คำขออ่านที่สอดคล้องกันถูกส่งมาจากสตรีมอักขระหรือไบต์พื้นฐาน

ดังนั้นจึงแนะนำให้ห่อ BufferedReader ใน Java รอบๆ Reader ใดๆ ที่การดำเนินการ read() อาจมีค่าใช้จ่ายสูง เช่น 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

โค้ดด้านล่างคือ a 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 อ่านไฟล์โดยใช้ 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();
  }
 }
}