当我使用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);
}
}