JAVA CORE - Trang 190

www.updatesofts.com

!

"

+

&

FileInputStream is = new FileInputStream("abc.txt");
int ibyts = is.available( );
System.out.println("Input Stream has " + ibyts + " available bytes");
byte ibuf[ ] = new byte[ibyts];
int byrd = is.read(ibuf, 0, ibyts);
System.out.println("Number of Bytes read are: " + byrd);
System.out.println("They are: " + new String(ibuf));
is.close();
File fl = new File("abc.txt");
fl.delete();

}
}

Hình 9.2 hiện kết xuất của đoạn mã nguồn trên:

Hình 9.2 sử dụng FileInputStream, FileOutputStream, và các lớp File

9.3.5 Nhập xuất đã lọc

Một ‘Filter’ là một kiểu luồng sửa đổi cách điều quản một luồng hiện tồn tại. Các lớp, các
luồng nhập xuất đã lọc của java sẽ giúp ta lọc I/O theo một số cách. Về cơ bản, các bộ lọc
này dùng để thích ứng các luồng theo các nhu cầu của chương trình cụ thể.
Bộ lọc nằm giữa một luồng nhập và một luồng xuất. Nó thực hiện xử lý một tiến trình đặc
biệt trên các byte được truyền từ đầu vào đến kết xuất. Các bộ lọc có thể phối hợp thực
hiện dãy tuần tự các tuỳ chọn lọc ở đó mọi bộ lọc tác động như kết xuất của một bộ lọc
khác.

Lớp FilterInputStream

Đây là lớp trừu tượng. Nó là cha của tất cả các lớp luồng nhập đã lọc. Lớp này cung
cấp khả năng tạo ra một luồng từ luồng khác. Một luồng có thể được đọc và cung cấp
dưới dạng kết xuất cho luồng khác. Biến ‘in’ được sử dụng để làm điều này. Biến này
được dùng để duy trì một đối tượng tách biệt của lớp InputStream. Lớp
FilterInputStream được thiết kế sao cho có thể tạo nhiều bộ lọc kết xích [chained
filters]. Để thực hiện điều này chúng ta dùng vài tầng lồng ghép. đến lượt mỗi lớp sẽ
truy cập kết xuất của lớp trước đó với sự trợ giúp của biến ‘in’.

Lớp FilterOutputStream

Lớp này là một dạng bổ trợ cho lớp FilterInputStream. Nó là lớp cha của tất cả các lớp
luồng xuất đã lọc. Lớp này tương tự như lớp FilterInputStream ở chổ nó duy trì đối
tượng của lớp OutputStream làm một biến ‘out’. Dữ liệu ghi vào lớp này có thể sửa đổi
theo nhu cầu để thực hiện tác vụ lọc và sau đó được chuyển gửi tới đối tượng
OutputStream.

Liên Kết Chia Sẽ

** Đây là liên kết chia sẻ bới cộng đồng người dùng, chúng tôi không chịu trách nhiệm gì về nội dung của các thông tin này. Nếu có liên kết nào không phù hợp xin hãy báo cho admin.