簡體   English   中英

讀取大文本文件塊處理

[英]Reading large text file in chunks Processing

我有一個非常大的文本文件(大約850萬行,1 GB),它是由地理信息組成的(地名計划,供所有聽說過的人使用)。 目前,我正在使用BufferedReader,並且發現我的程序可以輕松讀取10000行並顯示一些必需的數據而不會造成太多暫停。 但是,我必須讀取和搜索整個文件中的每一行,並且一旦我用超過50000行對其進行測試,該程序將變得非常緩慢,並且基本上沒有用。 分割文件並分塊讀取以減少執行時間有哪些選擇?

閱讀有關java.nio.Buffer類及其子類的信息。 尤其要注意直接緩沖區和非直接緩沖區的優缺點。 直接緩沖區提供對磁盤的直接訪問,並能夠以非常快的速度分批處理非常大的文件。 但是,這種強大的功能會帶來一些代價和內存泄漏的風險。 但是我認為這是您可能需要的。 在這里開始閱讀: https : //docs.oracle.com/javase/8/docs/api/java/nio/Buffer.html

暫無
暫無

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

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