我有一个大文件,其中包含诸如“ABCDEabcde .....XYZxyz”之类的字符序列。现在,我想提取它的一些子序列。例如从第 10 个字符到第 50 个字符,从第 15 个字符到第 55 个字符(所有子序列具有相同的长度并且起始位置总是增加)。任何人都可以帮助我如何在 Java 中快速做到这一点吗?
问问题
158 次
2 回答
0
您可以使用 MappedByteBuffer 并将文件作为字节缓冲区访问
http://docs.oracle.com/javase/7/docs/api/java/nio/MappedByteBuffer.html
RandomAccessFile raf = new RandomAccessFile(....);
FileChannel fc = raf.getChannel();
MappedByteBuffer mmap = fc.map(READ_ONLY, 0, fc.size() );
于 2012-04-27T18:37:07.963 回答
0
为什么不尝试这样的事情:
BufferedReader br = new BufferedReader(new FileReader(<FileName>), int size);
只需在此处输入缓冲区大小并继续检查您subStrings
在该块中的大小。如果没有找到,丢弃它并转到下一个块。
于 2012-04-27T19:04:47.787 回答