本文主要是介绍Zip压缩zipOut.setMethod(ZipOutputStream.STORED);如何处理,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
使用Stored压缩方法,必须再 putNextEntry之前加上如下代码:
/** 如果是目录,则需要在写目录后面加上 */zipEntry = new ZipEntry(entryName + "/"); /** ZipEntry.STORED */zipEntry.setMethod(ZipEntry.STORED); zipEntry.setCompressedSize(srcFile.length());zipEntry.setSize(srcFile.length());CRC32 crc = new CRC32();crc.update(getFileBytes(srcFile));zipEntry.setCrc(crc.getValue());/** ZipEntry.STORED */ zos.putNextEntry(zipEntry);
/*** * 方法名:getFileBytes<br>* 描述:获取文件的bytes<br>* 创建时间:2016-12-14 下午2:23:33<br>* @param file* @return* @throws FileNotFoundException* @throws IOException<br>*/
public static byte[] getFileBytes(File file) throws FileNotFoundException,IOException {byte[] buffer;FileInputStream fis = new FileInputStream(file); ByteArrayOutputStream bos = new ByteArrayOutputStream(1000); byte[] b = new byte[1000]; int n; while ((n = fis.read(b)) != -1) { bos.write(b, 0, n); } fis.close(); bos.close(); buffer = bos.toByteArray();return buffer;
}
这篇关于Zip压缩zipOut.setMethod(ZipOutputStream.STORED);如何处理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!