我有wiki.txt文件,其大小爲50 MB。將文本文件加載到Java中的內存
我需要在文件上做幾件事情,所以我認爲性能方面的最佳方式是將文件加載到內存中,是否正確?
這是我寫的代碼:
File file = new File("wiki.txt"); FileInputStream fileInputStream = new FileInputStream(file); FileChannel fileChannel = fileInputStream.getChannel(); MappedByteBuffer mapByteBuffer = fileChannel.map(FileChannel.MapMode.READ_ONLY, 0, file.length()); System.out.println((char)mapByteBuffer.get());
我對這個代碼得到錯誤:mapByteBuffer.get()
。 我嘗試了get()函數幾個選項,但所有他們我得到的錯誤,甚至沒有在e.getMessage()我得到了一個錯誤。
另一個重要的事情要注意,我的文本文件包含英語單詞和我需要做的動作是搜索,如果表達存在這個文本文件。
謝謝。
你會得到哪個錯誤? – bvd 2011-12-14 07:45:52
請發佈您收到的錯誤消息。此外,從文本文件中查看一些樣本行會有所幫助 - 然後我們可以提出一種有效的方式來閱讀和存儲它(您顯示的代碼背後嚴重缺乏理解)。 – 2011-12-14 07:59:10