JAVA 8流和随机访问二进制文件

时间:2016-03-03 09:39:10

标签: java java-8 java-stream random-access

首先:我不太了解java 8流,可能是我要问的是微不足道的,不可能的或已经实现的。

我处理存储在大型二进制文件中的记录。这些二进制文件与另一个二进制索引相关联,允许使用 RandomAccessFile 访问文件的某些部分。

enter image description here

界面如下:

public interface BinaryFile<T> extends Iterable<T> {
        public CloseableIterator<T> queryUsingIndex(long beginIndex,long endIndex);
        public CloseableIterator<T> iterator();/* get all */
        }

说,我想计算使用java 8流的记录数。据我所知,我可以使用流来计算二进制文件中的记录数。通过计算每个彩色部分中的记录数,并行流可以更快地运行。

new BinaryFileImp(myFile).parallel().count();

是否可以使用随机访问文件实现这种迭代器?我应该从哪里开始?我应该考虑JDK中的哪些类?

感谢您的建议。

编辑:其他信息。我正在处理SAM文件(https://samtools.github.io/hts-specs/SAMv1.pdf),这是一种常见的生物信息学文件格式,可以在基因组中存储数百万条记录。通常的做法是在不同的染色体上并行工作以加快速度。所以,为了计算记录的数量,我会计算{染色体1,染色体2,......染色体Y}上的计数

0 个答案:

没有答案