河北 石家庄 网站建设,营销外包团队有哪些,手机qq插件wordpress,怎样用jsp做网站Java API中的import java.util.zip.*;包下包含了Java对于压缩文件的所有相关操作。我们可以使用该包中的方法#xff0c;结合IO中的相关知识#xff0c;进行文件的压缩和解压缩相关操作。ZipFilejava中的每一个压缩文件都是可以使用ZipFile来进行表示的。File file new File…Java API中的import java.util.zip.*;包下包含了Java对于压缩文件的所有相关操作。我们可以使用该包中的方法结合IO中的相关知识进行文件的压缩和解压缩相关操作。ZipFilejava中的每一个压缩文件都是可以使用ZipFile来进行表示的。File file new File(F:/zippath.zip);ZipFile zipFile newZipFile(file);System.out.println(压缩文件的名称为 zipFile.getName());压缩单个文件/**压缩单个文件*/public static voidZipFile(String filepath ,String zippath) {try{File file newFile(filepath);File zipFile newFile(zippath);InputStream input newFileInputStream(file);ZipOutputStream zipOut new ZipOutputStream(newFileOutputStream(zipFile));zipOut.putNextEntry(newZipEntry(file.getName()));int temp 0;while((temp input.read()) ! -1){zipOut.write(temp);}input.close();zipOut.close();}catch(Exception e) {e.printStackTrace();}}应用ZipFile(d:/hello.txt, d:/hello.zip);压缩多个文件(文件夹)/**一次性压缩多个文件文件存放至一个文件夹中*/public static voidZipMultiFile(String filepath ,String zippath) {try{File file new File(filepath);//要被压缩的文件夹File zipFile newFile(zippath);InputStream input null;ZipOutputStream zipOut new ZipOutputStream(newFileOutputStream(zipFile));if(file.isDirectory()){File[] filesfile.listFiles();for(int i 0; i files.length; i){input newFileInputStream(files[i]);zipOut.putNextEntry(new ZipEntry(file.getName() File.separator files[i].getName()));int temp 0;while((temp input.read()) ! -1){zipOut.write(temp);}input.close();}}zipOut.close();}catch(Exception e) {e.printStackTrace();}}应用ZipMultiFile(f:/uu, f:/zippath.zip);解压缩单个文件/**解压缩(解压缩单个文件)*/public static voidZipContraFile(String zippath ,String outfilepath ,String filename) {try{File file new File(zippath);//压缩文件路径和文件名File outFile new File(outfilepath);//解压后路径和文件名ZipFile zipFile newZipFile(file);ZipEntry entry zipFile.getEntry(filename);//所解压的文件名InputStream input zipFile.getInputStream(entry);OutputStream output newFileOutputStream(outFile);int temp 0;while((temp input.read()) ! -1){output.write(temp);}input.close();output.close();}catch(Exception e) {e.printStackTrace();}}应用ZipContraFile(d:/hello.zip,d:/eee.txt, hello.txt);解压缩多个文件ZipInputStream类当我们需要解压缩多个文件的时候ZipEntry就无法使用了。如果想操作更加复杂的压缩文件我们就必须使用ZipInputStream类。/**解压缩(压缩文件中包含多个文件)可代替上面的方法使用。* ZipInputStream类* 当我们需要解压缩多个文件的时候ZipEntry就无法使用了* 如果想操作更加复杂的压缩文件我们就必须使用ZipInputStream类**/public static voidZipContraMultiFile(String zippath ,String outzippath){try{File file newFile(zippath);File outFile null;ZipFile zipFile newZipFile(file);ZipInputStream zipInput new ZipInputStream(newFileInputStream(file));ZipEntry entry null;InputStream input null;OutputStream output null;while((entry zipInput.getNextEntry()) ! null){System.out.println(解压缩 entry.getName() 文件);outFile new File(outzippath File.separator entry.getName());if(!outFile.getParentFile().exists()){outFile.getParentFile().mkdir();}if(!outFile.exists()){outFile.createNewFile();}inputzipFile.getInputStream(entry);output newFileOutputStream(outFile);int temp 0;while((temp input.read()) ! -1){output.write(temp);}input.close();output.close();}}catch(Exception e) {e.printStackTrace();}}应用ZipContraMultiFile(f:/zippath.zip, d:/);ZipContraMultiFile(d:/hello.zip, d:/);