java文件压缩
public static void main(String[] args) {
//数据压缩
String content = "123123|2312|uuuu|90909|sdas\r\n";
String content2 = "1233|22|uuuyu|90909|sdads\r\n";
File file = new File("test.zip");
OutputStream os = null;
try {
os = new FileOutputStream(file);
ZipOutputStream gos = new ZipOutputStream(os);
//压缩级别
gos.setLevel(Deflater.BEST_COMPRESSION);
gos.putNextEntry(new ZipEntry("test.txt"));
gos.write(content.concat(content2).getBytes(UTF_8));
gos.closeEntry();
gos.close();
} catch (Exception e) {
e.printStackTrace();
} finally {
IOUtils.closeQuietly(os);
}
//解压缩
InputStream stream = null;
BufferedReader bufferedReader = null;
try {
stream = new FileInputStream(file);
ZipInputStream zipInputStream = new ZipInputStream(stream);
while (zipInputStream.getNextEntry() != null) {
//循环读取文件
bufferedReader = new BufferedReader(new InputStreamReader(zipInputStream));
bufferedReader.lines().forEach(System.out::println);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
IOUtils.closeQuietly(stream);
IOUtils.closeQuietly(bufferedReader);
}
}