初学Java,在网上找了一段代码:public String compressData(String data) {
try {
ByteArrayOutputStream bos = new ByteArrayOutputStream();
DeflaterOutputStream zos = new DeflaterOutputStream(bos);
zos.write(data.getBytes());
zos.close();
return new String(convertToBase64(bos.toByteArray()));
} catch (Exception ex) {
ex.printStackTrace();
return "ZIP_ERR";
}
}
在这段代码中,convertToBase64一直是未定义的,它是在哪个包里吗?急需这段代码,却不知缘由,谢谢了!
try {
ByteArrayOutputStream bos = new ByteArrayOutputStream();
DeflaterOutputStream zos = new DeflaterOutputStream(bos);
zos.write(data.getBytes());
zos.close();
return new String(convertToBase64(bos.toByteArray()));
} catch (Exception ex) {
ex.printStackTrace();
return "ZIP_ERR";
}
}
在这段代码中,convertToBase64一直是未定义的,它是在哪个包里吗?急需这段代码,却不知缘由,谢谢了!
利用ant压缩,可以解决中文文件名乱码问题
public static void write(File path, File zipFile) throws IOException {
ZipOutputStream zip = new ZipOutputStream(new FileOutputStream(zipFile));
zip.setEncoding("GBK");
write(path, path, zip);
zip.close();
} private static void write(File base, File path, ZipOutputStream zip)
throws IOException {
URI rel = base.toURI().relativize(path.toURI());
System.out.println(rel.getPath());
if (path.isDirectory()) {
ZipEntry entry = new ZipEntry(rel.getPath());
entry.setUnixMode(755);
zip.putNextEntry(entry);
zip.closeEntry();
File[] files = path.listFiles();
for (File file : files) {
write(base, file, zip);
}
} else {
ZipEntry entry = new ZipEntry(rel.getPath());
entry.setUnixMode(644);
zip.putNextEntry(entry);
FileInputStream is = new FileInputStream(path);
zip.write(IOUtils.toByteArray(is));
is.close();
zip.closeEntry();
}
} private static void createDirectory(String directory, String subDirectory) {
String dir[];
File fl = new File(directory);
try {
if (subDirectory == "" && fl.exists() != true)
fl.mkdir();
else if (subDirectory != "") {
dir = subDirectory.replace('\\', '/').split("/");
for (int i = 0; i < dir.length; i++) {
File subFile = new File(directory + File.separator + dir[i]);
if (subFile.exists() == false)
subFile.mkdir();
directory += File.separator + dir[i];
}
}
} catch (Exception ex) {
ex.printStackTrace();
System.out.println(ex.getMessage());
}
}测试: write(pathFile, zipFile);