当前位置: 首页>>代码示例>>Java>>正文


Java ZipArchiveEntry.setCrc方法代码示例

本文整理汇总了Java中org.apache.commons.compress.archivers.zip.ZipArchiveEntry.setCrc方法的典型用法代码示例。如果您正苦于以下问题:Java ZipArchiveEntry.setCrc方法的具体用法?Java ZipArchiveEntry.setCrc怎么用?Java ZipArchiveEntry.setCrc使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.apache.commons.compress.archivers.zip.ZipArchiveEntry的用法示例。


在下文中一共展示了ZipArchiveEntry.setCrc方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: entryToNewName

import org.apache.commons.compress.archivers.zip.ZipArchiveEntry; //导入方法依赖的package包/类
/**
 * Entry to new name.
 *
 * @param source the source
 * @param name the name
 * @return the zip archive entry
 * @throws ZipException the zip exception
 */
public static ZipArchiveEntry entryToNewName(ZipArchiveEntry source, String name) throws ZipException {
  if (source.getName().equals(name))
    return new ZipArchiveEntry(source);
  ZipArchiveEntry ret = new ZipArchiveEntry(name);
  byte[] extra = source.getExtra();
  if (extra != null) {
    ret.setExtraFields(ExtraFieldUtils.parse(extra, true, ExtraFieldUtils.UnparseableExtraField.READ));
  } else {
    ret.setExtra(ExtraFieldUtils.mergeLocalFileDataData(source.getExtraFields(true)));
  }
  ret.setInternalAttributes(source.getInternalAttributes());
  ret.setExternalAttributes(source.getExternalAttributes());
  ret.setExtraFields(source.getExtraFields(true));
  ret.setCrc(source.getCrc());
  ret.setMethod(source.getMethod());
  ret.setSize(source.getSize());
  return ret;
}
 
开发者ID:NitorCreations,项目名称:javaxdelta,代码行数:27,代码来源:JarDelta.java

示例2: visitEntry

import org.apache.commons.compress.archivers.zip.ZipArchiveEntry; //导入方法依赖的package包/类
@Override
public void visitEntry(ApkArchiveEntry entry) throws IOException {
	super.visitEntry(entry);

	if (includedFiles.contains(entry.getFilename())) {
		return;
	}

	ZipArchiveEntry zipEntry = new ZipArchiveEntry(entry.getFilename());
	includedFiles.add(entry.getFilename());

	if (entry.getMethod() == ZipEntry.STORED) {
		zipEntry.setSize(entry.getSize());
		zipEntry.setCrc(entry.getCrc());
	}

	zaos.setMethod(entry.getMethod());

	zaos.putArchiveEntry(zipEntry);
	IOUtils.copy(entry.getInputStream(), zaos);

	zaos.closeArchiveEntry();
}
 
开发者ID:testfairy,项目名称:testfairy-jenkins-plugin,代码行数:24,代码来源:ApkArchiveWriter.java

示例3: newTailArchive

import org.apache.commons.compress.archivers.zip.ZipArchiveEntry; //导入方法依赖的package包/类
private static ArchiveEntry newTailArchive(String name, byte[] tail) {
    ZipArchiveEntry zipEntry = new ZipArchiveEntry(name);
    zipEntry.setSize(tail.length);
    zipEntry.setCompressedSize(zipEntry.getSize());
    CRC32 crc32 = new CRC32();
    crc32.update(tail);
    zipEntry.setCrc(crc32.getValue());
    return zipEntry;
}
 
开发者ID:cuba-platform,项目名称:cuba,代码行数:10,代码来源:LogArchiver.java

示例4: newArchive

import org.apache.commons.compress.archivers.zip.ZipArchiveEntry; //导入方法依赖的package包/类
private static ArchiveEntry newArchive(File file) throws IOException {
    ZipArchiveEntry zipEntry = new ZipArchiveEntry(file.getName());
    zipEntry.setSize(file.length());
    zipEntry.setCompressedSize(zipEntry.getSize());
    zipEntry.setCrc(FileUtils.checksumCRC32(file));
    return zipEntry;
}
 
开发者ID:cuba-platform,项目名称:cuba,代码行数:8,代码来源:LogArchiver.java

示例5: newStoredEntry

import org.apache.commons.compress.archivers.zip.ZipArchiveEntry; //导入方法依赖的package包/类
protected ArchiveEntry newStoredEntry(String name, byte[] data) {
    ZipArchiveEntry zipEntry = new ZipArchiveEntry(name);
    zipEntry.setSize(data.length);
    zipEntry.setCompressedSize(zipEntry.getSize());
    CRC32 crc32 = new CRC32();
    crc32.update(data);
    zipEntry.setCrc(crc32.getValue());
    return zipEntry;
}
 
开发者ID:cuba-platform,项目名称:cuba,代码行数:10,代码来源:FoldersServiceBean.java

示例6: createArchiveEntry

import org.apache.commons.compress.archivers.zip.ZipArchiveEntry; //导入方法依赖的package包/类
@Override
public ArchiveEntry createArchiveEntry(String targetPath, long targetSize, byte[] targetBytes) {
    ZipArchiveEntry zipEntry = new ZipArchiveEntry(targetPath);
    zipEntry.setSize(targetSize);
    zipEntry.setMethod(ZipEntry.STORED);
    if (targetBytes != null) {
        zipEntry.setCrc(crc32Checksum(targetBytes));
    }
    return zipEntry;
}
 
开发者ID:trustsystems,项目名称:elfinder-java-connector,代码行数:11,代码来源:ZipArchiver.java

示例7: isVulnerable

import org.apache.commons.compress.archivers.zip.ZipArchiveEntry; //导入方法依赖的package包/类
public boolean isVulnerable(Context context) throws Exception {
    ByteArrayOutputStream fileNameFunz = new ByteArrayOutputStream();
    ModdedZipArchiveOutputStream zaos = new ModdedZipArchiveOutputStream(fileNameFunz);
    ZipArchiveEntry zae = new ZipArchiveEntry("test_file");
    byte [] originalData = "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA".getBytes();
    byte [] modifiedData = "BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB".getBytes();
    zae.setMethod(ZipEntry.STORED);
    zae.setSize(originalData.length);
    CRC32 checker = new CRC32();
    checker.update(originalData);
    zae.setCrc(checker.getValue());
    zaos.putArchiveEntry(zae, originalData);
    zaos.write(originalData);
    zaos.closeArchiveEntry();
    zaos.writeRaw(modifiedData, 0, modifiedData.length);

    for(int i = 0; i < originalData.length - modifiedData.length; i++){
        zaos.writeRaw(new byte[]{0}, 0, 1);
    }

    zaos.flush();

    List<ZipArchiveEntry> entries = new ArrayList<>();
    entries.add(zae);

    zaos.finish(entries, new ArrayList<ZipArchiveEntry>());

    byte [] testZip = fileNameFunz.toByteArray();

    // write the result to a file
    File outputDir = context.getCacheDir();
    File badZip = File.createTempFile("prefix", "extension", outputDir);
    badZip.deleteOnExit();
    FileOutputStream outstream = new FileOutputStream(badZip);
    outstream.write(testZip);
    outstream.close();

    // see if we can still handle it
    ZipFile bad = new ZipFile(badZip);
    if(bad.size() != 1)
        throw new ZipException("Unexpected number of entries");

    ZipEntry ze = bad.entries().nextElement();
    DataInputStream dis = new DataInputStream(bad.getInputStream(ze));
    byte [] buf = new byte[(int)ze.getSize()];
    dis.readFully(buf);
    bad.close();
    return new String(buf).startsWith("AAAAAAAAAAAAAAA");
}
 
开发者ID:AndroidVTS,项目名称:android-vts,代码行数:50,代码来源:ZipBug9950697.java


注:本文中的org.apache.commons.compress.archivers.zip.ZipArchiveEntry.setCrc方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。