日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

搜索重复代码_通过MappedByteBuffer搜索大文件

發布時間:2025/4/17 101 豆豆
生活随笔 收集整理的這篇文章主要介紹了 搜索重复代码_通过MappedByteBuffer搜索大文件 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

此應用程序對于在不適合BufferedReader、files.readAllLines()、files.lines()和Scanner的大文件中進行搜索非常有用。

我們將在這里討論的解決方案基于Java NIO.2、MappedByteBuffer和FileChannel。此解決方案從給定文件上的文件通道打開內存映射字節緩沖區(mapped byte buffer)。我們遍歷獲取的字節緩沖區并查找與搜索字符串的匹配項(此字符串轉換為字節byte[],然后逐字節進行搜索)。

對于相對較小的文件,將整個文件加載到內存中會更快(如果RAM允許的話)。對于大型/大型文件,以塊(例如,5 MB的塊)的形式加載和處理文件會更快。加載塊后,必須計算搜索字符串的出現次數。我們存儲結果并將其傳遞給下一個數據塊。我們重復這個直到整個文件被遍歷。

讓我們來看看這個實現的核心代碼(查看與本書捆綁在一起的源代碼以獲得完整的代碼):

這個解決方案非??焖?#xff0c;因為文件直接從操作系統的內存中讀取,而不必加載到JVM中。操作在本機級別(稱為操作系統級別)進行。注意,此實現僅適用于UTF-8字符集,但也可以適用于其他字符集。

完整的應用程序在GitHub上可用。

如果您喜歡這篇文章,那么我相信您一定會喜歡Java編碼問題的第6章。本章專門討論Java中的文件/文件夾操作。

這么多大牛的代碼,如果您希望換一個工作,如果您希望換一個工作環境,來來來:

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的搜索重复代码_通过MappedByteBuffer搜索大文件的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。