首頁 >Java >java教程 >java中的輸入流和outputstream之間的差異

java中的輸入流和outputstream之間的差異

Barbara Streisand
Barbara Streisand原創
2025-02-07 11:52:14503瀏覽

Difference Between InputStream and OutputStream in Java

Java 的 InputStreamOutputSteam 都是抽像類,用於訪問底層數據集。它們是定義特定數據序列操作的 API,通過一系列步驟實現。 InputStream 將數據集重新排列為有序的字節流,從文件或網絡讀取數據。流結束時返回 -1(Java 沒有無符號字節數據類型)。 OutputStream 則接收輸出字節並將它們寫入目標。它是最基本的寫入單個字節的輸出方法。本文將比較這兩個流的差異,並結合實際應用進行說明。

輸入示例

<code class="language-java">FileOutputStream fileOut = new FileOutputStream("ARBRDD.txt");</code>

輸出示例

<code>file is successfully updated today!!</code>

InputStreamOutputStream 的區別

特性
特性 InputStream OutputStream
数据读取/写入 使用 read()read(byte[])read(byte[], int, int) 读取数据 使用 write(int)write(byte[])write(byte[], int, int) 写入数据
数据流向 数据从源流向应用程序 数据从应用程序流向目标
数据类型 可读取字节 可写入字节、字符或对象(使用子类)
数据连接 可使用 FileInputStreamByteArrayInputStream 连接现有数据 可使用 FileOutputStreamByteArrayOutputStream 连接现有数据
數據讀取/寫入 使用read()read(byte[])read(byte[], int, int) 讀取數據 使用write(int)write(byte[])write(byte[], int, int) 寫入數據
數據流向 數據從源流向應用程序 數據從應用程序流向目標
數據類型 可讀取字節 可寫入字節、字符或對象(使用子類)
數據連接 可使用 FileInputStreamByteArrayInputStream 連接現有數據 可使用 FileOutputStreamByteArrayOutputStream 連接現有數據

使用方法

使用 FileInputStreamFileOutputStream 函數。

算法

該算法描述了流類的工作流程。首先聲明並設置插入順序(例如使用計時器類)。然後通過迭代長度遍歷來評估輸入結果。

  • 步驟 1 - 開始流程。
  • 步驟 2 - 聲明輸入輸出流。
  • 步驟 3 - 導入內置類和聲明的函數。
  • 步驟 4 - 聲明一個公共類。
  • 步驟 5 - 設置函數。
  • 步驟 6 - 執行插入操作。
  • 步驟 7 - 聲明一個數組列表並填充它。
  • 步驟 8 - 聲明集合值。
  • 步驟 9 - 按插入順序打印值。
  • 步驟 10 - 聲明一個循環來迭代流程。
  • 步驟 11 - 設置計時器值。
  • 步驟 12 - 運行流程並獲取輸出值。
  • 步驟 13 - 終止流程。

語法

語法說明如何聲明一個流程為 null 以標記和跳過布爾流程。之後,我們將通過強制使用異常類來重置流程以跟踪堆棧值。

<code class="language-java">FileOutputStream fileOut = new FileOutputStream("ARBRDD.txt");</code>

使用 FileInputStreamFileOutputStream 方法

此方法使用 FileInputStreamFileOutputStream 方法對集合執行流式處理。

示例

此代碼使用文本文件,通過 Java 流函數將字符串寫入其中。此過程中聲明了一個 catch 塊來處理異常。

<code>file is successfully updated today!!</code>

輸出

<code class="language-java">public class NewClass {
   public static void main(String[] args) throws Exception {
      InputStream processARBRDD = null;
      try {
         processARBRDD = new FileInputStream("FILE_NAME.txt");

         // PRINT METHOD
         processARBRDD.mark(0);
         processARBRDD.skip(1);

         // PRINT METHOD
         boolean check = processARBRDD.markSupported();
         if (processARBRDD.markSupported()) {
            processARBRDD.reset();
            // PRINT METHODS
         } else {
            // PRINT METHODS
         }
      } catch (Exception excpt) {
         excpt.printStackTrace();
      } finally {
         if (processARBRDD != null) {
            processARBRDD.close();
         }
      }
   }
}</code>

結論

ByteArray 流用於將數據寫入字節數組。在本主題中,我們使用了不同的流函數來建立數據和代碼之間的連接。

以上是java中的輸入流和outputstream之間的差異的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn