Java 跳过ZipInputStream中的若干字节
因此,在ZIP文件的末尾,就像最后的64K一样,有一个中心目录,您可以从中看到它自己包含的ZIP文件 现在,我已经将ZIP文件加载到ZipInputStream中,在此之前,我声明了一个长变量,即ZIP文件的长度——64k 所以我想跳过尽可能多的字节和长的变量状态,然后才开始读取信息。但是我真的不明白Java 跳过ZipInputStream中的若干字节,java,Java,因此,在ZIP文件的末尾,就像最后的64K一样,有一个中心目录,您可以从中看到它自己包含的ZIP文件 现在,我已经将ZIP文件加载到ZipInputStream中,在此之前,我声明了一个长变量,即ZIP文件的长度——64k 所以我想跳过尽可能多的字节和长的变量状态,然后才开始读取信息。但是我真的不明白.skip()方法是如何用于ZipInputStream的 使用它之后,.getnextry()方法仍将从头开始,.read(字节[64*1024])将告诉我它是流的结尾,而不应该是流的结尾 那么这
.skip()
方法是如何用于ZipInputStream的
使用它之后,.getnextry()
方法仍将从头开始,.read(字节[64*1024])
将告诉我它是流的结尾,而不应该是流的结尾
那么这个skip()方法到底在做什么,我如何才能得到我的中心目录呢?据我所知,你在这里混合了两件事 以普通
InputStream
格式读取数据,然后转到所需位置,自己开始读取和解析普通数据
或者使用ZipInputStream
API并迭代ZipEntries
。ZipInputStream
是原始流之上的一个抽象,它处理读取中心目录和透明地解压缩压缩的字节。因此,您无法使用ZipInputStream
访问原始目录
有关更多信息,请参见