介绍
本篇文章给大家分享的是有关怎么在java中利用压缩流实现压缩与解压,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
java是什么
java是一门面向对象编程语言,可以编写桌面应用程序,网络应用程序,分布式系统和嵌入式系统应用程序。
<强> 1。概念强>
压缩流可以将输入的数据变为压缩格式后进行输出,或者读取压缩格式的数据后,解压为正常数据。
<强> 2。压缩步骤强>
(1)生成一个压缩类对象,这个对象来自于一个“.zip"的文件,通过它产生一ZipOutputStream对象,
(2)生成压缩对象入口,因为需要被压缩的文件不止一个,需要用ZipEntry方法生成压缩入口文件后才能放进压缩文件;
(3)用putNextEntry将压缩入口放入压缩文件;
(4)将文件内容写入了out.write(),将压缩入口和文件流关闭。
<强> 3。目录压缩强>
import . io . *; import java.util.zip.ZipEntry; import java.util.zip.ZipOutputStream; , public class  ZipStreamExam2 { ,,,public static void main (String [], args), { ,,,,,,,try { ,,,,,,,,,,,File File =, new 文件(“d: \ \ zipmultidir"); ,,,,,,,,,,,ZipOutputStream zos =, new ZipOutputStream (new BufferedOutputStream (new FileOutputStream (“d: \ \ zipmultidir.zip"))); ,,,,,,,,,,,zipDir(环球,文件,文件); ,,,,,,,,,,,zos.flush (); ,,,,,,,,,,,zos.close (); ,,,,,,,},catch (FileNotFoundException e), { ,,,,,,,,,,,e.printStackTrace (); ,,,,,,,},catch (IOException e), { ,,,,,,,,,,,e.printStackTrace (); ,,,,,,,} ,,,} , ,,,//压缩一个目录至邮政文件 ,,,private static void zipDir (File dir, ZipOutputStream 环球,,File rootDir), throws IOException { ,,,,,,,if (! dir.isDirectory ()) ,,,,,,,,,,,返回; , ,,,,,,,文件[],files =, dir.listFiles (); ,,,,,,,for (int 小姐:=,0;,小姐:& lt;, files.length;,我+ +),{ ,,,,,,,,,,,if (文件[我].isFile ()), { ,,,,,,,,,,,,,,,System.out.println(文件[我].getAbsolutePath ()); ,,,,,,,,,,,,,,,String 你=,文件[我].getAbsolutePath (); ,,,,,,,,,,,,,,,String root =, rootDir.getAbsolutePath (); ,,,,,,,,,,,,,,,String name =, now.substring (root.length (), +, 1); ,,,,,,,,,,,,,,,System.out.println(名称); , ,,,,,,,,,,,,,,,FileInputStream fis =, new FileInputStream(文件[我]); , ,,,,,,,,,,,,,,,byte buf [],=, new 字节[1024]; ,,,,,,,,,,,,,,,int len =, 0; ,,,,,,,,,,,,,,,ZipEntry ze =, new ZipEntry(名称); ,,,,,,,,,,,,,,,zos.putNextEntry(泽); ,,,,,,,,,,,,,,,while ((=len fis.read (buf)), !=, 1), { ,,,,,,,,,,,,,,,,,,,zos.write (buf, 0, len); ,,,,,,,,,,,,,,,} ,,,,,,,,,,,,,,,fis.close (); ,,,,,,,,,,,},else if (文件[我].isDirectory ()), { ,,,,,,,,,,,,,,,zipDir(文件[我],环球,,rootDir); null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null怎么在java中利用压缩流实现压缩与解压