0

我有一个大文件,其中包含诸如“ABCDEabcde .....XYZxyz”之类的字符序列。现在,我想提取它的一些子序列。例如从第 10 个字符到第 50 个字符,从第 15 个字符到第 55 个字符(所有子序列具有相同的长度并且起始位置总是增加)。任何人都可以帮助我如何在 Java 中快速做到这一点吗?

4

2 回答 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 回答