[英]Java RandomAccessFile vs. DataInputStream for byte operations
我需要從文件中讀取字節。
使用RandomAccessFile
和使用DataInputStream
之間是否有區別(例如,效率,內存,運行時,復雜性和代碼的優雅程度)?
我使用的唯一方法是readByte()。
同樣,對於另一個方向,如果只需要writeByte(),則RandomAccessFile
和DataOutputStream
之間是否有區別?
( RandomAccessFile
是雙向的這一事實不計算在內,讀取和寫入未連接且無法共享)。
還有其他對象更適合這種閱讀和寫作嗎?
如果您僅執行順序訪問,那么它們本身就等效。 但是,圍繞FileInputStream
的BufferedInputStream
的DataInputStream
將比RandomAccessFile
效率大大提高。
如果只需要順序讀取/寫入DataInputStream/DataOutputStream
則完全可以。
如果您需要隨機訪問(例如字節數組),請使用RandomAccessFile
。
我認為它們之間在內存消耗等方面沒有任何顯着差異,因為它們只是JVM和OS之間的中介。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.