使用64位Java获取32位zip文件

时间:2014-03-14 20:23:48

标签: java zip 64-bit

当我使用64位Java压缩文件时,zip文件在Windows 7上显示为空。有没有办法使用64位Java强制使用32位版本的zip?

编辑: 我可以使用BeyondCompare等第三方工具打开/解压缩它。当我通过Windows 7浏览该文件时,内容为空。使用Win 7解压缩它会给我带来无效的zip文件'错误。

public static void zipFiles(Collection<String> fileLocations, String targetZipFile){
    if( fileLocations == null || fileLocations.size() <= 0 ){
        return;
    }
    byte[] buffer = new byte[1024];

    try{
        ZipOutputStream out = new ZipOutputStream(new FileOutputStream(targetZipFile));

        FileInputStream in = null;
        String fileName = null;
        for( String fileLoc : fileLocations ){

            fileName = fileLoc.substring(fileLoc.lastIndexOf(File.separator));
            // Add ZIP entry to output stream.
            out.putNextEntry(new ZipEntry(fileName));

            in = new FileInputStream(fileLoc);

            int len;
            while ((len = in.read(buffer)) > 0) {
                out.write(buffer, 0, len);
            }

            // Complete the entry
            out.closeEntry();
            in.close();
        }

        // Complete the ZIP file
        out.close();

    }catch(IOException ioe){
        LOGGER.error(ioe.getMessage(),ioe);
    }
}

0 个答案:

没有答案