Java 中有兩種主要的 IO 流,分別是字節流和字符流。
字節流實現對文件數據的原始讀取。它們以字節的形式(8 位無符號整數)從數據源中讀取和寫入數據。
InputStream 和 OutputStream 是兩個主要的字節流抽象類。InputStream 提供一系列讀取操作,而 OutputStream 提供一系列寫操作。以下是一個使用 FileInputStream 來讀取文件的例子。
FileInputStream fis = null; try { fis = new FileInputStream("file.txt"); int data; while ((data = fis.read()) != -1) { // 進行文件內容處理 } } catch (IOException e) { e.printStackTrace(); } finally { if (fis != null) { try { fis.close(); } catch (IOException e) { e.printStackTrace(); } } }
字符流實現了字符數據的讀取和寫入。它們以字符的形式(16 位的 Unicode)從數據源中讀取和寫入數據。
Reader 和 Writer 是兩個主要的字符流抽象類。Reader 提供一系列讀取操作,而 Writer 提供一系列寫操作。以下是一個使用 BufferedReader 來讀取文件的例子。
BufferedReader br = null; try { br = new BufferedReader(new FileReader("file.txt")); String line; while ((line = br.readLine()) != null) { // 進行文件內容處理 } } catch (IOException e) { e.printStackTrace(); } finally { if (br != null) { try { br.close(); } catch (IOException e) { e.printStackTrace(); } } }
在 Java 中,字符流和字節流的轉換可以使用 InputStreamReader 和 OutputStreamWriter 來完成。
字節流和字符流各有其優缺點,具體使用要根據需求來選擇。