public static String txtToZip(String filePath,String fileName){
File file = new File(filePath+fileName+".txt");
LOG.info("开始压缩文件 [{}]", file);
long start = System.currentTimeMillis();
String base64toZip = "";
ZipOutputStream zos = null;
ByteArrayOutputStream baos = new ByteArrayOutputStream();
try {
zos = new ZipOutputStream(baos);
byte[] buf = new byte[BUFFER_SIZE];
LOG.info("压缩的文件名称 [{}] ", file.getName() + "压缩的文件大小 [{}] ", file.length());
zos.putNextEntry(new ZipEntry(file.getName()));
int len;
FileInputStream in = new FileInputStream(file);
while ((len = in.read(buf)) != -1) {
zos.write(buf, 0, len);
}
zos.closeEntry();
in.close();
long end = System.currentTimeMillis();
LOG.info("压缩完成,耗时: [{}] ms", (end - start));
} catch (Exception e) {
throw new RuntimeException("zip error from txtToZip", e);
} finally {
if (zos != null) {
try {
zos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
byte[] refereeFileBase64Bytes = Base64.getEncoder().encode(baos.toByteArray());
try {
base64toZip = new String(refereeFileBase64Bytes, "UTF-8");
} catch (Exception e) {
throw new RuntimeException("压缩流出现异常", e);
}
return base64toZip;
}
将zip压缩包转化为base64字节
最新推荐文章于 2024-06-10 23:57:19 发布
关键词由CSDN通过智能技术生成