Lớp BufferedInputStream trong java được sử dụng để đọc thông tin từ stream (buffered stream). Trong nội bộ của lớp này sử dụng cơ chế đệm để làm cho hiệu suất đọc nhanh hơn.
Những điểm quan trọng về BufferedInputStream là:
- Khi các byte từ stream được bỏ qua hoặc đọc, bộ đệm nội bộ sẽ tự động nạp lại từ input steam chứa, nhiều byte tại một thời điểm.
- Khi một BufferedInputStream được tạo ra, một mảng đệm nội bộ sẽ được tạo ra.
Khai báo của lớp BufferedInputStream
Dưới đây là khi báo của lớp Java.io.BufferedInputStream:
public class BufferedInputStream extends FilterInputStream
Nội dung chính
Các constructor của lớp BufferedInputStream
Constructor | Mô tả |
---|---|
BufferedInputStream(InputStream IS) | Nó tạo ra đối tượng BufferedInputStream và lưu đối số của nó, input stream IS, để sử dụng sau này. |
BufferedInputStream(InputStream IS, int size) | Nó tạo ra đối tượng BufferedInputStream với kích thước bộ đệm cụ thể và lưu đối số của nó, input stream IS, để sử dụng sau này. |
Các phương thức của lớp BufferedInputStream
Phương thức | Mô tả |
---|---|
int available() | Nó trả về một số ước lượng của byte có thể đọc được từ input stream mà không bị chặn bởi phương thức gọi tiếp theo cho input stream. |
int read() | Nó đọc byte tiếp theo của dữ liệu từ input stream. |
int read(byte[] b, int off, int ln) | Nó đọc các byte từ từ input stream được chỉ định vào một mảng byte được chỉ định, bắt đầu với số cho trước. |
void close() | Nó đóng các input stream và giải phóng bất kỳ tàifd nguyên hệ thống nào liên quan đến stream. |
void reset() | It repositions the stream at a position the mark method was last called on this input stream. |
void mark(int readlimit) | Nó được xem như đính ước chung của phương thức đánh dấu cho input stream. |
long skip(long x) | Nó bỏ qua và loại bỏ x byte dữ liệu từ input stream. |
boolean markSupported() | Nó kiểm tra xem input stream có hỗ trợ các phương thức mark và reset không. |
Ví dụ về đọc file trong java với lớp BufferedInputStream
Dưới đây là ví dụ đọc data từ file bằng cách sử dụng BufferedInputStream
File: BufferedInputStreamExample.java
import java.io.BufferedInputStream; import java.io.FileInputStream; import java.io.IOException; public class BufferedInputStreamExample { public static void main(String args[]) throws IOException { FileInputStream fin = null; BufferedInputStream bin = null; try { fin = new FileInputStream("D:\\testout.txt"); bin = new BufferedInputStream(fin); int i; while ((i = bin.read()) != -1) { System.out.print((char) i); } } catch (IOException e) { System.out.println(e); } finally { bin.close(); fin.close(); } } }
Giả sử nội dung của file "testout.txt" file là:
Welcome to java.
Output:
Welcome to java.