如何获取给定范围内的文件字节?文件可能非常大,因此将所有字节保留在内存中并不是一个好主意。我可以逐字节读取文件吗?读书这样正常吗?
使用 a 打开文件RandomAccessFile
,查找起始偏移量,定义缓冲区长度并完全读取缓冲区。该try-with-resources
语句负责关闭RandomAccessFile
.
public static byte[] readByteRange(String sourceFilePath, long startingOffset, int length) throws IOException
{
try (RandomAccessFile randomAccessFile = new RandomAccessFile(sourceFilePath, "r"))
{
byte[] buffer = new byte[length];
randomAccessFile.seek(startingOffset);
randomAccessFile.readFully(buffer);
return buffer;
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4401 次 |
最近记录: |