什麼是 Java 中的流,以及 Java 流的型別和類?


Java 提供 I/O 流來讀取和寫入資料,其中流代表輸入源或輸出目標,可以是檔案、I/O 裝置或其他程式等。

一般來說,流是輸入流或輸出流。

  • InputStream − 用於從源讀取資料。
  • OutputStream − 用於將資料寫入目標。

根據它們處理的資料,流有兩種型別:

  • 位元組流 − 這些流以位元組 (8 位) 處理資料,即位元組流類讀取/寫入 8 位資料。使用這些流可以儲存字元、影片、音訊、影像等。
  • 字元流 − 這些流以 16 位 Unicode 處理資料。使用這些流只能讀取和寫入文字資料。

下圖說明了 Java 中所有輸入和輸出流 (類)。

標準流

除了上述類之外,Java 還提供 3 個標準流來表示輸入和輸出裝置。

  • 標準輸入 − 用於透過輸入裝置(例如鍵盤)從使用者讀取資料,表示為 System.in。
  • 標準輸出 − 用於透過輸出裝置(例如計算機螢幕)向用戶顯示資料(結果),表示為 System.out。
  • 標準錯誤 − 用於輸出使用者程式產生的錯誤資料,通常使用計算機螢幕,表示為 System.err。

示例

下面的 Java 程式使用 BufferedInputStream 從使用者讀取資料,並使用 BufferedOutputStream 將其寫入檔案。

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class BufferedInputStreamExample {
   public static void main(String args[]) throws IOException {
      //Creating an BufferedInputStream object
      BufferedInputStream inputStream = new BufferedInputStream(System.in);
      byte bytes[] = new byte[1024];
      System.out.println("Enter your data ");
      //Reading data from key-board
      inputStream.read(bytes);
      //Creating BufferedOutputStream object
      FileOutputStream out= new FileOutputStream("D:/myFile.txt");
      BufferedOutputStream outputStream = new BufferedOutputStream(out);
      //Writing data to the file
      outputStream.write(bytes);
      outputStream.flush();
      System.out.println("Data successfully written in the specified file");
   }
}

輸出

Enter your data
Hi welcome to Tutorialspoint ....
Data successfully written in the specified file

更新於:2019年8月1日

26K+ 瀏覽量

開啟您的 職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.