Hướng Dẫn Đọc File Text trong Java Sử Dụng "BufferedReader"

Khi sử dụng class BufferedReader trong Java để đọc nội dung một file text thì chúng ta có hai cách khác nhau đó là sử dụng method readLine() hoặc read() của class này. Trong bài viết này chúng ta sẽ tìm hiểu cách làm chi tiết của từng phương pháp với việc áp dụng vào đọc một file text nằm ở địa chỉ C:\tmp\test.txt.

Chuẩn Bị

Trước tiên thì bạn cần tạo file test.txt ở địa chỉ thư mục C:\tmp\ như vừa đề cập để đảm bảo quá trình đọc nội dung file không gặp lỗi.

Sau đó bạn tạo một tập tin Main.java với nội dung như sau:

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

public class Main {
   public static void main(String[] args) {

  }
}

Bây giờ bên trong method main() của Main class này chúng ta sẽ thêm code Java để thực hiện việc đọc nội dung của file text sử dụng BufferedReader theo hai cách khác nhau.

Đọc File Text Sử Dụng BufferedReader với readLine()

Để đọc file theo cách này thì trong method main() của Main class bạn thêm đoạn code phía sau:

...
        BufferedReader br = null;

        try {   
            br = new BufferedReader(new FileReader("C:\\tmp\\test.txt"));       

            System.out.println("Đọc nội dung file sử dụng phương thức readLine()");

            String textInALine;

            while ((textInALine = br.readLine()) != null) {
                System.out.println(textInALine);
                textInALine = br.readLine();
            }
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                br.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
...

Đoạn code đầy đủ của class Main.java sẽ như sau:

Đọc File Text Sử Dụng BufferedReader với readLine

Ở đoạn code trên bạn chú ý method br.readLine() được gọi môi khi vòng lặp while được chạy để kiểm tra điều kiện của vòng lặp này cho tới khi nào giá trị trả về đồng thời in ra nội dung của giá trị này nếu như giá trị này khác null, trường hợp giá trị này là null thì chấm dứt vòng lặp:

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

Đọc File Text Sử Dụng BufferedReader với read()

Để sử dụng cách này thì trong method main() trống được tạo ra lúc đầu bạn thêm vào đoạn code phía sau:

...
        BufferedReader br = null;

        try {   
            br = new BufferedReader(new FileReader("C:\\tmp\\test.txt"));       

            System.out.println("Đọc nội dung file sử dụng phương thức read()");

            int num=0;
            char ch;

            while((num = br.read()) != -1)
            {    
                ch = (char) num;
                System.out.print(ch);
            }
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                br.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
...

Đoạn code đầy đủ của class Main.java sẽ như sau:

Đọc File Text Sử Dụng BufferedReader với readLine

Khi gọi br.read(), Java sẽ trả về từng các số mã hoá của từng ký tự thay vì nội dung cả dòng như cách sử dụng redline(). Chúng ta cũng sử dụng vòng lặp while để đọc ra từng số mã hoá ký tự này và sau đó chuyển hoá về dạng ký tự chữ:

            while((num = br.read()) != -1)
            {    
                ch = (char) num;
                System.out.print(ch);
            }
Thêm Bình Luận: