FilterInputStream là một class thừa kế từ InputStream class. Về cơ bản, nó chỉ ghi đè tất cả các phương thức trong InputStream và chuyển tất cả các lệnh gọi đến bất kỳ phương thức nào trên FilterInputStream vào một InputStream được bao bọc.
Chúng ta có thể khởi tạo FilterInputStream như sau:
FilterInputStream inputStream = new FilterInputStream(new FileInputStream("c:\\myfile.txt"));
Lớp FilterInputStream không có bất kỳ hành vi đặc biệt nào. Nó được dự định là một lớp cơ sở cho các lớp con của riêng bạn, nhưng theo ý kiến của mình thì bạn có thể thừa kế trực tiếp từ InputStream mà không cần thông qua FilterInputStream.
Cá nhân mình thấy FilterInputStream xuất hiện khá vô nghĩa, nó không có gì đặc biệt ngoài việc bọc bên trong một InputStream. Có thể bạn sẽ không bao giờ cần sử dụng đến nó đâu.
Nguồn tham khảo
http://tutorials.jenkov.com/java-io/filterinputstream.html