java文件压缩

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);
        }
    }
posted @ 2021-01-14 16:40  decoo  阅读(104)  评论(0)    收藏  举报