Java 的 InputStream
和 OutputSteam
都是抽像類,用於訪問底層數據集。它們是定義特定數據序列操作的 API,通過一系列步驟實現。 InputStream
將數據集重新排列為有序的字節流,從文件或網絡讀取數據。流結束時返回 -1(Java 沒有無符號字節數據類型)。 OutputStream
則接收輸出字節並將它們寫入目標。它是最基本的寫入單個字節的輸出方法。本文將比較這兩個流的差異,並結合實際應用進行說明。
輸入示例
FileOutputStream fileOut = new FileOutputStream("ARBRDD.txt");
輸出示例
<code>file is successfully updated today!!</code>
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 - 聲明集合值。
- 步驟 9 - 按插入順序打印值。
- 步驟 10 - 聲明一個循環來迭代流程。
- 步驟 11 - 設置計時器值。
- 步驟 12 - 運行流程並獲取輸出值。
- 步驟 13 - 終止流程。
語法
語法說明如何聲明一個流程為 null 以標記和跳過布爾流程。之後,我們將通過強制使用異常類來重置流程以跟踪堆棧值。
FileOutputStream fileOut = new FileOutputStream("ARBRDD.txt");
使用 FileInputStream
和 FileOutputStream
方法
此方法使用 FileInputStream
和 FileOutputStream
方法對集合執行流式處理。
示例
此代碼使用文本文件,通過 Java 流函數將字符串寫入其中。此過程中聲明了一個 catch 塊來處理異常。
<code>file is successfully updated today!!</code>
輸出
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(); } } } }
結論
ByteArray
流用於將數據寫入字節數組。在本主題中,我們使用了不同的流函數來建立數據和代碼之間的連接。
以上是java中的輸入流和outputstream之間的差異的詳細內容。更多資訊請關注PHP中文網其他相關文章!

類加載器通過統一的類文件格式、動態加載、雙親委派模型和平台無關的字節碼,確保Java程序在不同平台上的一致性和兼容性,實現平台獨立性。

Java編譯器生成的代碼是平台無關的,但最終執行的代碼是平台特定的。 1.Java源代碼編譯成平台無關的字節碼。 2.JVM將字節碼轉換為特定平台的機器碼,確保跨平台運行但性能可能不同。

多線程在現代編程中重要,因為它能提高程序的響應性和資源利用率,並處理複雜的並發任務。 JVM通過線程映射、調度機制和同步鎖機制,在不同操作系統上確保多線程的一致性和高效性。

Java的平台獨立性是指編寫的代碼可以在任何安裝了JVM的平台上運行,無需修改。 1)Java源代碼編譯成字節碼,2)字節碼由JVM解釋執行,3)JVM提供內存管理和垃圾回收功能,確保程序在不同操作系統上運行。

Javaapplicationscanindeedencounterplatform-specificissuesdespitetheJVM'sabstraction.Reasonsinclude:1)Nativecodeandlibraries,2)Operatingsystemdifferences,3)JVMimplementationvariations,and4)Hardwaredependencies.Tomitigatethese,developersshould:1)Conduc

云计算显著提升了Java的平台独立性。1)Java代码编译为字节码,由JVM在不同操作系统上执行,确保跨平台运行。2)使用Docker和Kubernetes部署Java应用,提高可移植性和可扩展性。

Java'splatformindependenceallowsdeveloperstowritecodeonceandrunitonanydeviceorOSwithaJVM.Thisisachievedthroughcompilingtobytecode,whichtheJVMinterpretsorcompilesatruntime.ThisfeaturehassignificantlyboostedJava'sadoptionduetocross-platformdeployment,s

容器化技術如Docker增強而非替代Java的平台獨立性。 1)確保跨環境的一致性,2)管理依賴性,包括特定JVM版本,3)簡化部署過程,使Java應用更具適應性和易管理性。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

禪工作室 13.0.1
強大的PHP整合開發環境

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!