Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 用文件输出流替换随机访问文件逻辑_Java_File_Fileoutputstream - Fatal编程技术网

Java 用文件输出流替换随机访问文件逻辑

Java 用文件输出流替换随机访问文件逻辑,java,file,fileoutputstream,Java,File,Fileoutputstream,我的代码目前使用RandomAccessFile读取ZIP文件。这段代码来自开源软件 项目。 我需要在内存中进行随机访问文件操作,而无需在内存中创建物理文件 磁盘。所以需要用FileOutput流替换RandomAccess文件的功能 随机访问文件对象创建的方式 protected RandomAccessFile file; public ExtRandomAccessFile(File zipFile) throws IOException { this.file = new Random

我的代码目前使用RandomAccessFile读取ZIP文件。这段代码来自开源软件

项目。 我需要在内存中进行随机访问文件操作,而无需在内存中创建物理文件

磁盘。所以需要用FileOutput流替换RandomAccess文件的功能

随机访问文件对象创建的方式

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替换代码。问题是什么

我应该用来查找值的机制


谢谢

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

只需使用java.util.zip包即可。它是有文档记录的。我正在使用ZIP,但这是一个受密码保护的ZIP文件,java标准包不支持ZipoutStream,因为我的ZIP受密码保护。将尝试DataOutputStream