使用FileOutput流替换随机访问文件逻辑

时间:2014-07-20 09:41:52

标签: java file fileoutputstream

我的代码目前使用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替换我的代码。什么是

我应该使用

机制来查找值。

由于

1 个答案:

答案 0 :(得分:0)

您可以使用DataOutputStream来阅读不同的值。但要小心,因为java总是使用大端格式。如果出于教育原因不这样做,我建议ZipOutputStream创建zip文件。