FilterInputStream
ฟังก์ชั่นของ FilterInputStream คือ "ห่อหุ้มสตรีมอินพุตอื่น ๆ และให้ฟังก์ชั่นเพิ่มเติม" คลาสย่อยที่ใช้กันทั่วไปคือ bufferedInputStream และ datainputStream
ฟังก์ชั่นของ bufferedInputStream คือการจัดเตรียม "ฟังก์ชั่นบัฟเฟอร์สำหรับสตรีมอินพุตรวมถึงฟังก์ชั่น Mark () และ RESET ()"
DatainputStream ใช้ในการตกแต่งสตรีมอินพุตอื่น ๆ ซึ่ง "อนุญาตให้แอปพลิเคชันอ่านประเภทข้อมูล Java พื้นฐานจากสตรีมอินพุตพื้นฐานในลักษณะที่ไม่ขึ้นกับเครื่อง" แอปพลิเคชันสามารถใช้ DataOutputStream เพื่อเขียนข้อมูลที่อ่านโดย DatainputStream
ซอร์สโค้ด FilterInputStream (ขึ้นอยู่กับ JDK1.7.40):
แพ็คเกจ java.io; คลาสสาธารณะ FilterInputStream ขยาย inputstream {proftected ผันผวน inputstream ใน; ได้รับการป้องกัน FilterInputStream (inputStream in) {this.in = in; } public int read () พ่น ioexception {return in.read (); } public int read (byte b []) พ่น ioexception {return read (b, 0, b.length); } การอ่าน int สาธารณะ (byte b [], int ปิด, int len) โยน ioexception {return in.read (b, ปิด, len); } สาธารณะข้ามความยาว (ยาว n) โยน ioexception {return in.skip (n); } public int ที่มีอยู่ () พ่น IOException {return in.available (); } โมฆะสาธารณะปิด () พ่น IOException {in.close (); } เครื่องหมายโมฆะที่ซิงโครไนซ์สาธารณะ (int readlimit) {in.mark (readlimit); } โมฆะที่ซิงโครไนซ์รีเซ็ต () พ่น IOException {in.reset (); } public boolean marksupported () {return in.marksupported (); - FilterOutputStream
ฟังก์ชั่นของ FilterOutputStream คือ "ห่อหุ้มสตรีมเอาต์พุตอื่น ๆ และให้ฟังก์ชั่นเพิ่มเติม" ส่วนใหญ่จะรวมถึง bufferedOutputStream, dataOutputStream และ printstream
(01) ฟังก์ชั่นของ bufferedOutputStream คือการจัดเตรียม "ฟังก์ชั่นบัฟเฟอร์สำหรับกระแสเอาต์พุต"
(02) DataOutputStream ใช้เพื่อตกแต่งสตรีมเอาท์พุทอื่น ๆ โดยใช้สตรีมอินพุต DataOutputStream และ DatainputStream "ช่วยให้แอปพลิเคชันสามารถอ่านและเขียนชนิดข้อมูล Java พื้นฐานจากสตรีมอินพุตพื้นฐานในลักษณะที่ไม่ขึ้นกับเครื่อง"
(03) PrintStream ใช้เพื่อตกแต่งสตรีมเอาท์พุทอื่น ๆ มันเพิ่มฟังก์ชันการทำงานให้กับสตรีมเอาต์พุตอื่น ๆ ทำให้สามารถพิมพ์การแสดงค่าข้อมูลต่างๆได้อย่างง่ายดาย
ซอร์สโค้ด FilterOutputStream (ขึ้นอยู่กับ JDK1.7.40):
แพ็คเกจ java.io; คลาสสาธารณะ FilterOutputStream ขยายเอาท์พุทสตรีม {ป้องกันเอาท์พุทสตรีมออก; Public FilterOutputStream (OutputStream) {this.out = out; } โมฆะสาธารณะเขียน (int b) พ่น ioexception {out.write (b); } โมฆะสาธารณะเขียน (byte b []) พ่น ioexception {เขียน (b, 0, b.length); } โมฆะสาธารณะเขียน (byte b [], int ปิด, int len) พ่น ioexception {ถ้า ((ปิด | len | (b.length - (len + ปิด)) | (ปิด + len)) <0) โยน indexoutofboundsexception ใหม่ (); สำหรับ (int i = 0; i <len; i ++) {เขียน (b [ปิด+i]); }} โมฆะสาธารณะฟลัช () พ่น IOException {out.flush (); } public void close () พ่น ioexception {ลอง {flush (); } catch (iOexception ละเว้น) {} out.close (); -