如何把檔案輸出流替換成位元組輸出流

2021-10-10 19:41:19 字數 1147 閱讀 7328

1、比如要輸出乙個zip,zip可以放進fileoutputstream,也可以放進bytearrayoutputstream裡;

2、輸出流轉換成輸入流

byte content = fileout.tobytearray();

bytearrayinputstream is = new bytearrayinputstream(content);

bufferedinputstream in = new bufferedinputstream(is);

比較下面的兩段**,就可以發現規律:

/**

* 測試 檔案輸出流

* @throws ioexception

*/@test

public void testzip() throws ioexception

// 關閉流的順序不能變,遵從"先開後關"的原則

// 關閉流的順序不對,會導致壓縮包的檔案損壞

zos.flush();

fileout.close();

zos.closeentry();

}// 關閉流的順序不能變,遵從"先開後關"的原則

wb.close();

zos.close();

out.close();

}/**

* 測試輸出流

* @throws ioexception

*/@test

public void teststream() throws ioexception

// 關閉各種流

zos.flush();

fileout.close();

zos.closeentry();

}wb.close();

zos.close();

out.close();

// 將壓縮輸出流轉換成輸入流

byte content = out.tobytearray();

bytearrayinputstream is = new bytearrayinputstream(content);

bufferedinputstream in = new bufferedinputstream(is);

}

檔案輸入輸出流與位元組陣列輸入輸出流的對接

過程 1 檔案 程式 位元組陣列 2 位元組陣列 程式 檔案 方式一 分開寫,比較簡單 思路 過程一 將檔案中的內容不斷通過程式 使用fileinputstream讀取檔案,使用bytearrayoutputstream寫入到緩衝陣列 讀到緩衝陣列中,過程二 將緩衝陣列的內容不斷地通過程式 使用by...

輸入輸出流 位元組流解決檔案的複製

將硬體已有的資料讀取到記憶體的時輸入流,用來操作將記憶體中的資料儲存到硬碟的是輸出流。輸入流進行的是讀操作,輸出流進行寫操作。以位元組為單位的是位元組流 以字元為單位的是字元流。位元組流可以讀寫任意資源,字元流是為了更好的讀寫文字。public static void main string arg...

ofstream檔案輸出流把二進位制資料寫入檔案

cpp view plain copy print include using namespace std include using namespace std cpp view plain copy print 在實際應用中,根據需要的不同,選擇不同的類來定義 如果想以輸入方式開啟,就用ifst...