我的代码目前使用RandomAccessFile来读取ZIP文件。代码来自开源
项目。 我需要在内存中进行RANDOM访问文件操作,而无需在
中创建物理文件磁盘。因此需要使用FileOutput Stream替换RandomAccess File的功能。
随机访问文件对象创建的方式。
protected RandomAccessFile file;
public ExtRandomAccessFile(File zipFile) throws IOException {
this.file = new RandomAccessFile(zipFile, "r");
}
用法访问映射到随机访问文件的不同位置
int censig = raFile.readInt( fileOffset );
short fileNameLength = raFile.readShort( fileOffset + 28 );
short extraFieldLength = raFile.readShort( fileOffset + 30 );
long fileOffsetPos = fileOffset + 28 + 14;
long fileDataOffset = raFile.readInt( fileOffsetPos );
int locsig = raFile.readInt( fileDataOffset );
请告诉我如何使用FileOutputstream替换我的代码。什么是
我应该使用机制来查找值。
由于
答案 0 :(得分:0)
您可以使用DataOutputStream来阅读不同的值。但要小心,因为java总是使用大端格式。如果出于教育原因不这样做,我建议ZipOutputStream创建zip文件。