List of usage examples for org.apache.commons.compress.archivers.zip UnicodePathExtraField getUnicodeName
public byte[] getUnicodeName()
From source file:com.zimbra.cs.util.ZipUtil.java
/** * Use InfoZIP Unicode Extra Fields (if present) to set the filename *//*from w w w . j a va2 s . c o m*/ private static String getNameFromUnicodeExtraPathIfPresent(ZipArchiveEntry zae) { UnicodePathExtraField unicodePathExtraField = (UnicodePathExtraField) zae .getExtraField(UnicodePathExtraField.UPATH_ID); if (null == unicodePathExtraField) { return null; } CRC32 crc32 = new CRC32(); crc32.update(zae.getRawName()); long origCRC32 = crc32.getValue(); if (origCRC32 == unicodePathExtraField.getNameCRC32()) { String val = convertBytesIfPossible(unicodePathExtraField.getUnicodeName(), StandardCharsets.UTF_8); if (null != val) { ZimbraLog.misc.debug("ZipUtil name '%s' from unicodeExtraPath", val); } return val; } return null; }