我有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