簡體   English   中英

Java RandomAccessFile與DataInputStream進行字節操作

[英]Java RandomAccessFile vs. DataInputStream for byte operations

我需要從文件中讀取字節。
使用RandomAccessFile和使用DataInputStream之間是否有區別(例如,效率,內存,運行時,復雜性和代碼的優雅程度)?

我使用的唯一方法是readByte()。

同樣,對於另一個方向,如果只需要writeByte(),則RandomAccessFileDataOutputStream之間是否有區別?
RandomAccessFile是雙向的這一事實不計算在內,讀取和寫入未連接且無法共享)。

還有其他對象更適合這種閱讀和寫作嗎?

如果您僅執行順序訪問,那么它們本身就等效。 但是,圍繞FileInputStreamBufferedInputStreamDataInputStream將比RandomAccessFile效率大大提高。

如果只需要順序讀取/寫入DataInputStream/DataOutputStream則完全可以。

如果您需要隨機訪問(例如字節數組),請使用RandomAccessFile

我認為它們之間在內存消耗等方面沒有任何顯着差異,因為它們只是JVM和OS之間的中介。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM