Java BufferedReader: Cách đọc tệp trong Java với Ví dụ
Cách đọc một tập tin trong Java?
Java cung cấp một số cơ chế để đọc từ File. Gói hữu ích nhất được cung cấp cho việc này là java.io.Reader. Lớp này chứa Class Java BufferedReader trong gói java.io.BufferedReader
Là gì BufferedReader ở Java?
BufferedReader là một Java lớp để đọc văn bản từ luồng Đầu vào (như tệp) bằng cách đệm các ký tự đọc liền mạch các ký tự, mảng hoặc dòng. Nhìn chung, mỗi yêu cầu đọc được thực hiện từ Reader sẽ khiến một yêu cầu đọc tương ứng được thực hiện từ luồng ký tự hoặc byte cơ bản.
Vì vậy nên bọc BufferedReader ở Java xung quanh bất kỳ Reader nào có các hoạt động read() có thể tốn kém, chẳng hạn như Java FileReaders và InputStreamReaders. Một cách sử dụng thông thường sẽ liên quan đến việc truyền đường dẫn tệp đến BufferedReader ở Java như sau:
objReader = new BufferedReader(new FileReader("D:\DukesDiary.txt")); //Assuming you have a text file in D drive
Về cơ bản, thao tác này sẽ tải tệp của bạn vào objReader. Bây giờ, bạn sẽ cần duyệt qua nội dung của tệp và in nó.
trong khi lặp lại trong đoạn mã dưới đây sẽ đọc tệp cho đến khi nó đến cuối tệp
while ((strCurrentLine = objReader.readLine()) != null) { System.out.println(strCurrentLine); }
strCurrentLine đọc dòng hiện tại và Java Hàm readLine objReader.readLine() trả về một chuỗi. Do đó, vòng lặp sẽ lặp cho đến khi nó không còn giá trị rỗng.
BufferVí dụ về edReader
Mã bên dưới là một Java Bufferví dụ edReader cho thấy việc triển khai hoàn chỉnh:
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(); } } } }
Lưu ý:
Đoạn mã trên có một số cách xử lý rất quan trọng, đặc biệt là trong khối mã cuối cùng.
Mã này sẽ đảm bảo rằng quản lý bộ nhớ được thực hiện một cách hiệu quả và phương thức objReader.close() được gọi để giải phóng bộ nhớ.
BufferVí dụ về edReader JDK7
Dưới đây là ví dụ về Java Đọc tập tin bằng cách sử dụng Bufferlớp 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(); } } }