我一直在尝试使用filechannel来提高zip提取速度,但却无法实现它。 基本上我需要让FileInputStream来获取一个channel.I试图像
那样实现它FileInputStream inputStream = (FileInputStream)(zipfile.getInputStream(entry));
但是这会给出类强制转换异常
java.lang.ClassCastException: java.util.zip.ZipFile $ ZipInflaterInputStream无法强制转换为 java.io.FileInputStream中
有没有办法做到这一点?我打算让zip提取更快
提取ZipEntry的代码
FileChannel inChannel = fileinputStream.getChannel();
FileChannel outChannel = fileoutputStream.getChannel();
try {
inChannel.transferTo(0, inChannel.size(),
outChannel);
}
catch (IOException e) {
throw e;
}
finally {
if (inChannel != null) inChannel.close();
if (outChannel != null) outChannel.close();
}