IO流(Input/Output Stream)指的是Java中用于處理輸入輸出數據的機制。在Java中,所有的輸入輸出都被視為流(Stream)的形式進行處理,即輸入和輸出的數據都以流的形式通過內存和磁盤等設備進行傳輸。
根據數據的流向和類型,可以將Java中的IO流分為四種類型:
字節流(Byte Stream):用于處理字節或二進制數據,可以處理所有類型的數據,如圖片、視頻等。字節流主要包括InputStream和OutputStream兩個類,分別用于讀取和寫入字節流數據。
字符流(Character Stream):用于處理字符數據,只能處理文本類型的數據。字符流主要包括Reader和Writer兩個類,分別用于讀取和寫入字符流數據。
緩沖流(Buffered Stream):是字節流和字符流的高級流,可以提高讀取和寫入數據的效率。緩沖流主要包括BufferedInputStream和BufferedOutputStream(字節流)以及BufferedReader和BufferedWriter(字符流)等類。
對象流(Object Stream):用于處理Java中的對象,可以將對象直接寫入到流中,也可以從流中讀取對象。對象流主要包括ObjectInputStream和ObjectOutputStream兩個類。
根據數據流向的不同,可以將IO流分為輸入流和輸出流;根據處理的數據類型的不同,可以將IO流分為字節流和字符流。需要根據實際需求選擇不同的IO流,同時也可以結合使用不同的IO流來處理輸入輸出數據。