Trong Java, BufferedReader
là một lớp trong gói java.io
được sử dụng để đọc dữ liệu từ một luồng đầu vào (input stream) như tệp tin (file) hay kết nối mạng với việc tạo và sử dụng bộ đệm (buffer) để tăng hiệu suất đọc dữ liệu.
BufferedReader
cung cấp các phương thức như read()
, readLine()
, skip()
,… để đọc từng dòng hoặc các ký tự từ luồng đầu vào. Nó cũng hỗ trợ đọc dữ liệu theo từng khối (block) từ bộ đệm, giúp giảm số lần truy cập thực tế tới nguồn dữ liệu và cải thiện hiệu suất đọc.
Lớp BufferedReader
trong Java cung cấp các tính năng và phương thức sau:
- Đọc các ký tự từ luồng đầu vào:
int read()
: Đọc một ký tự từ luồng đầu vào và trả về mã Unicode của ký tự đó. Trả về -1 nếu đã đến cuối luồng.int read(char[] cbuf, int off, int len)
: Đọc tối đalen
ký tự vào mảngcbuf
, bắt đầu từ vị tríoff
. Trả về số lượng ký tự đã đọc hoặc -1 nếu đã đến cuối luồng.String readLine()
: Đọc một dòng từ luồng đầu vào và trả về dưới dạng một chuỗi. Trả vềnull
nếu đã đến cuối luồng.
- Đọc các kiểu dữ liệu nguyên thủy từ luồng đầu vào:
boolean readBoolean()
byte readByte()
short readShort()
int readInt()
long readLong()
float readFloat()
double readDouble()
char readChar()
- Bỏ qua (skip) các ký tự hoặc dòng:
long skip(long n)
: Bỏ quan
ký tự trong luồng đầu vào và trả về số lượng ký tự đã bỏ qua.
- Đóng luồng đầu vào:
void close()
: Đóng luồng đầu vào và giải phóng tài nguyên liên quan.
Dưới đây là một ví dụ minh họa sử dụng BufferedReader
để đọc từng dòng từ một tệp tin văn bản:
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class BufferedReaderExample {
public static void main(String[] args) {
try (BufferedReader reader = new BufferedReader(new FileReader("example.txt"))) {
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
Trong ví dụ này, chúng ta sử dụng BufferedReader
để đọc tệp tin “example.txt”. Sử dụng phương thức readLine()
, chúng ta đọc từng dòng trong tệp tin và in nó ra màn hình. Vòng lặp sẽ tiếp tục cho đến khi readLine()
trả về null
, tương ứng với cuối tệp tin.
THANKS FOR YOUR TIME !!!
Để lại một phản hồi
Bạn phải đăng nhập để gửi phản hồi.