Java BufferedReader: Cách đọc tệp trong Java với ví dụ

Mục lục:

Anonim

Làm thế nào để đọc một tệp trong Java?

Java cung cấp một số cơ chế để đọc từ Tệp. 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 Lớp Java BufferedReader trong gói java.io.BufferedReader

BufferedReader trong Java là gì?

BufferedReader là một lớp Java để đọc văn bản từ luồng Đầu vào (như một 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. Nói chung, mỗi yêu cầu đọc được thực hiện bởi một Trình đọc gây ra một yêu cầu đọc tương ứng được thực hiện bằng ký tự cơ bản hoặc luồng byte.

Do đó, nên bọc BufferedReader trong Java xung quanh bất kỳ Trình đọc nào 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 điển hình sẽ liên quan đến việc chuyển đường dẫn tệp đến BufferedReader trong 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 trong objReader. Bây giờ, bạn sẽ cần phải lặp lại nội dung của tệp và in nó.

Vòng lặp while trong đoạn mã dưới đây sẽ đọc tệp cho đến khi nó đi đến cuối tệp

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

strCurrentLine đọc dòng hiện tại và hàm Java readLine objReader.readLine () trả về một chuỗi. Do đó, vòng lặp sẽ lặp lại cho đến khi nó không rỗng.

Ví dụ về BufferedReader:

Đoạn mã dưới đây là một ví dụ về Java BufferedReader 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();}}}}

Ghi chú:

Đ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 cuối cùng của mã.

Mã này sẽ đảm bảo rằng việc quản lý bộ nhớ được thực hiện hiệu quả và phương thức objReader.close () được gọi là giải phóng bộ nhớ.

Ví dụ về BufferedReader JDK7:

Dưới đây là ví dụ về Java Read Files sử dụng lớp BufferedReader

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