【发布时间】:2014-12-23 13:26:12
【问题描述】:
我有一个包含大端数据的二进制文件。我正在使用此代码在
中阅读它FileChannel fileInputChannel = new FileInputStream(fileInput).getChannel();
ByteBuffer bb = ByteBuffer.allocateDirect((int)fileInputChannel.size());
while (bb.remaining() > 0)
fileInputChannel.read(bb);
fileInputChannel.close();
bb.flip();
我必须为 zip 文件做一些相同的事情。换句话说,从 zip 文件中解压缩文件并对其进行排序。我知道我可以通过 ZipInputStream 读取它,但是我必须提供“字节顺序”的编码。使用 ByteBuffer,您可以使用 ByteOrder。
zip 文件有 NIO 替代方案吗?
【问题讨论】:
-
zip 文件中的数据是压缩格式,因此更改字节顺序是没有意义的。正如您在问题中所写,首先解压缩,然后换入字节以更改它们的字节序。
-
你不需要这些。使用 JDK 中提供的
ZipInputStream。你从错误的地方开始,你当然不必处理 ZIP 文件中的字节序问题。 -
@EJP- 字节序问题不在 ZIP 文件中。它们在未压缩的文件中。很抱歉,如果文字表达的问题不够准确。
标签: java zip inputstream