Java中的FilterOutputStream 簡介_動力節(jié)點Java學(xué)院整理
FilterOutputStream 介紹
FilterOutputStream 的作用是用來“封裝其它的輸出流,并為它們提供額外的功能”。它主要包括BufferedOutputStream, DataOutputStream和PrintStream。
(01) BufferedOutputStream的作用就是為“輸出流提供緩沖功能”。
(02) DataOutputStream 是用來裝飾其它輸出流,將DataOutputStream和DataInputStream輸入流配合使用,“允許應(yīng)用程序以與機器無關(guān)方式從底層輸入流中讀寫基本 Java 數(shù)據(jù)類型”。
(03) PrintStream 是用來裝飾其它輸出流。它能為其他輸出流添加了功能,使它們能夠方便地打印各種數(shù)據(jù)值表示形式。
FilterOutputStream 源碼(基于jdk1.7.40)
package java.io;
public class FilterOutputStream extends OutputStream {
protected OutputStream out;
public FilterOutputStream(OutputStream out) {
this.out = out;
}
public void write(int b) throws IOException {
out.write(b);
}
public void write(byte b[]) throws IOException {
write(b, 0, b.length);
}
public void write(byte b[], int off, int len) throws IOException {
if ((off | len | (b.length - (len + off)) | (off + len)) < 0)
throw new IndexOutOfBoundsException();
for (int i = 0 ; i < len ; i++) {
write(b[off + i]);
}
}
public void flush() throws IOException {
out.flush();
}
public void close() throws IOException {
try {
flush();
} catch (IOException ignored) {
}
out.close();
}
}
以上所述是小編給大家介紹的FilterOutputStream知識,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
Guava自動加載緩存LoadingCache使用實戰(zhàn)詳解
這篇文章主要為大家介紹了Guava自動加載緩存LoadingCache使用實戰(zhàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-12-12
IDEA新建bootstrap.yml文件不顯示葉子圖標(biāo)的問題
這篇文章主要介紹了IDEA新建bootstrap.yml文件不顯示葉子圖標(biāo)的問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-07-07
解決springboot的JPA在Mysql8新增記錄失敗的問題
這篇文章主要介紹了解決springboot的JPA在Mysql8新增記錄失敗的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-06-06
MybatisPlusInterceptor依賴變紅如何解決,無法識別問題
這篇文章主要介紹了MybatisPlusInterceptor依賴變紅如何解決,無法識別問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-07-07
@ConfigurationProperties在IDEA中出現(xiàn)紅色波浪線問題解決方法
本文介紹了在Springboot項目中,當(dāng)@ConfigurationProperties注解出現(xiàn)紅色波浪線時的解決方法,文中有詳細(xì)的解決方案供大家參考,需要的朋友可以參考下2024-09-09

