我需要使用替换代码 RandomAccessFile
使用内存中的字节缓冲区(例如 byte[]
或类似的衍生物 ByteArrayInputStream
)。是否有一些API(字节数组包装?)具有类似的接口 RandomAccessFile
,与 seek()
流淌 read()
我可以一对一插入?
我需要使用替换代码 RandomAccessFile
使用内存中的字节缓冲区(例如 byte[]
或类似的衍生物 ByteArrayInputStream
)。是否有一些API(字节数组包装?)具有类似的接口 RandomAccessFile
,与 seek()
流淌 read()
我可以一对一插入?
ByteArrayInputStream
可以做到:
read()
工作原理相同。seek(n)
可以替换为 reset()
其次是 skip(n)
我有同样的问题。 RandomAccessFile有许多结局和本机方法,所以它不能重载。
我结束了创建我自己的SeekableInputStream抽象类,通过偷偷摸摸这个: https://github.com/samtools/htsjdk/blob/master/src/java/htsjdk/samtools/seekablestream/SeekableStream.java
我定义了使用RandomAccessFile的SeekableFileInputStream。
我定义了SeekableByteArrayInputStream,它很容易定义。 这个类也能够获取任何InputStream,将其转换为字节数组,因此这是一种缓存流。
我碰巧有其中一个 - 我把它上传到了 http://home.arcor.de/joriki/seekable-byte-array.zip - 希望有所帮助。