利用java內存映射文件機制實現CRC循環冗餘校驗

運行結果:

crc校驗和:4831ACAC

運行16ms

校驗和與winrar校驗結果一致,如下圖

 

java自1.4以後io機制裏多了一個nio包(new I/O),這個包的存在改進了java IO  操作的機制,包括

  • 字符集編碼、解碼器
  • 非阻塞的I/O
  • 內存映射文件
  • 文件加鎖機制

內存映射文件機制類似於操作系統的虛擬內存,它實現了文件到內存的映射,執行效率介於普通文件操作和內存操作之間,適合大文件的讀取,和計算

使用方法很簡單:

  1. 從文件輸入流獲取一個‘channel’即通道 傳給一個FileChannel
  2. 用FileChannel的map方法實現一個文件到內存MappedByteBuffer的字節映射

這樣一個從文件到內存的映射機制就建立起來了,接下來就是你要做的內存操作

 

如上內容參考於Cay S. Horstmann <java核心技術卷II>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章