Java 中 InputStream 和 OutputStream 的區別


InputStream 和 OutputStream 都是抽象過程,可以實現為使用指標訪問低階資料集。它們是指定操作的特定資料序列的指定 API,方法是遵循一些單獨的步驟。InputStream 將資料集重新排列為有序的位元組流,實際上是從檔案讀取資料或透過網路系統接收資料。流處理結束後,它將返回 -1 作為整數值,因為 Java 不包含任何無符號位元組作為資料型別。OutputStream 是一個流式處理過程,主要接受一些輸出位元組並將它們匯入字串。它是寫入給定套接字的單個位元組輸出的最低型別的方法。在本文中,我們將找到這兩種流之間的一些即時過程中可能存在的差異。

輸入

FileOutputStream fileOut = new FileOutputStream (" ARBRDD . txt " ) ;

輸出

File is successfully updated today ! !

InputStream 和 OutputStream 的區別

InputStream

OutputStream

使用 read()、read(byte[]) 和 read(byte[], int, int) 函式從檔案、網路或記憶體中讀取資料。

它旨在使用 write(int)、write(byte[]) 和 write(byte[], int, int) 函式將資料寫入檔案、網路或記憶體中的目標位置。

資料從源流向應用程式以建立例項。

能夠使用位元組、字元或物件以及特定的子類來寫入資料。

它可以使用 FileInputStream 或 ByteArrayInputStream 過程來連線現有資料。

它可以使用 FileOutputStream 或 ByteArrayOutputStream 過程來連線現有資料。

使用方法

使用 FileInputStream 和 FileOutputStream 函式。

演算法

在這個演算法中,我們將以有序的方式解釋流類的工作過程。首先,我們將使用計時器類宣告並設定插入順序。接下來,透過迭代長度遍歷,我們將評估輸入的結果。

  • 步驟 1 - 開始程序。

  • 步驟 2 - 宣告輸入輸出流。

  • 步驟 3 - 匯入內建類和宣告的函式。

  • 步驟 4 - 宣告一個公共類。

  • 步驟 5 - 設定函式。

  • 步驟 6 - 進行插入排序。

  • 步驟 7 - 宣告一個數組列表並填充它。

  • 步驟 8 - 宣告 Set 值。

  • 步驟 9 - 按照插入方式列印值。

  • 步驟 10 - 宣告一個迴圈來迭代過程。

  • 步驟 11 - 設定計時器值。

  • 步驟 12 - 執行程序並獲取輸出值。

  • 步驟 13 - 終止程序。

語法

語法將說明如何宣告一個過程為 null 以根據布林過程進行標記和跳過。之後,我們將重置該過程以透過強制執行異常類來跟蹤堆疊值。

public class NewClass{
   public static void main ( String [] args ) throws Exception{
      InputStream PROCESS ARBRDD  = null;
      try {
         PROCESS ARBRDD  = new FileInputStream ( " FILE NAME . txt " ) ;
         
         // PRINT METHOD
         PROCESS ARBRDD . mark ( 0 ) ;
         PROCESS ARBRDD . skip ( 1 ) ;
         
         // PRINT METHOD
         boolean check = PROCESS ARBRDD . markSupported () ;
         if ( PROCESS ARBRDD . markSupported () ){
            PROCESS ARBRDD . reset () ;
            // PRINT METHODS
         }
         else
         // PRINT METHODS
      }
      catch ( Exception excpt ){
         excpt . printStackTrace () ;
      }
      finally{
         if ( PROCESS ARBRDD != null ){
            PROCESS ARBRDD . close () ;
         }
      }
   }
}

使用 FileInputStream 和 FileOutputStream 方法

在這種方法中,我們使用了 FileInputStream 和 FileOutputStream 方法在一個集合上執行流式處理。

示例

在此程式碼中,我們使用 Java 流函式將文字檔案中的字串列印到其中。在此過程中,我們聲明瞭一個 catch 通道來繞過異常。

import java.util.Arrays;
import java.util.HashSet;
import java.util.LinkedHashSet;
import java.util.TreeSet;
import java.util.*;
import java.io.FileInputStream;
import java.io.FileOutputStream;
public class ARBRDD{
   public static void main ( String args [] ){
      try {
         FileOutputStream fileOut
            = new FileOutputStream ( "ARBRDD . txt " ) ;
         String s = " KOL DHKA " ;
         byte b [] = s . getBytes () ;
         fileOut . write ( b ) ;
         fileOut . close () ;
         System.out.println ("file is successfully updated today !! " ) ;
      }
      catch ( Exception e ) {
         System.out.println ( e ) ;
      }
   }
}

輸出

file is successfully updated today!!

結論

ByteArray 流是將一些資料寫入位元組陣列的過程。因此,在本主題中,我們執行了不同的流函式以在資料和程式碼之間建立連線。

更新於:2023年10月19日

2K+ 次瀏覽

啟動您的職業生涯

完成課程獲得認證

開始學習
廣告