在 I/O 鍊中,由以下三個主要元素串起來,形成一個完整的資料輸入輸出流程。使用 I/O 鍊的好處是可以讓資料的輸入、處理、輸出操作更加清晰明確,也更容易進行維護和擴展。
- 輸入流(Input Stream):從外部資料源(如檔案、網路等)讀取資料的流程。
- 處理流(Processing Stream):對讀取的資料進行加工處理的流程,例如壓縮、解壓縮、加密、解密等操作。
- 輸出流(Output Stream):將經過處理後的資料寫入到目標位置(如檔案、網路等)的流程。
需要注意的事項:
- 每個元素都需要進行正確的初始化和關閉操作close(): 關閉資源,以確保資源能夠正確釋放,避免資源浪費或者資源不足的問題。
- 在進行資料處理時,需要確保資料能夠正確地被轉換和處理,避免出現資料損失或者不一致的問題。
- 在 I/O 鍊中使用的元素需要相互配合,確保資料的順序和流程正確無誤,避免出現錯誤或者資料遺失等問題。
- 建立所有資料流,都要處理例外物件IOException
- 越晚建立的資料流,要先關閉。先處理整個輸入流,再來處理整個輸出流。
- 使用BufferedInputStream讀取數據時,需要根據實際情況選擇合適的緩衝區大小,通常情況下可以使用默認值,即8192個字節。
位元資料流與字元資料流
InputStream & OutputStream:位元資料流
- 用於處理位元組數據(以8bits為基礎的byte)
- 需要放在try catch執行
InputStream子類別:
- FileInputStream:用來讀取檔案的二進位數據,通常用來讀取圖像、音頻、視頻等文件
- BufferedInputStream:提供了緩衝區的功能,能夠有效地提高 I/O 效能。