亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術(shù)文章
文章詳情頁

Java GZIPOutputStream流壓縮文件的操作

瀏覽:2日期:2022-08-17 08:03:35

我就廢話不多說了,大家還是直接看代碼吧~

不多說,直接上代碼

public static void main(String[] args) throws Exception{//壓縮文件 File src = new File('e:/xx/aa.txt'); File zipFile = new File('e:/xx/a.zip'); FileOutputStream fos = new FileOutputStream(zipFile); ZipOutputStream zos = new ZipOutputStream(fos); BufferedInputStream bis = new BufferedInputStream(new FileInputStream(src)); ZipEntry entry = new ZipEntry( src.getName()); zos.putNextEntry(entry); int count; byte[] buf = new byte[1024]; while ((count = bis.read(buf)) != -1) { zos.write(buf, 0, count); } bis.close(); //fos.close(); zos.close();// }壓縮的步驟是:

src將要壓縮的文件,zipFile 壓縮后的文件,壓縮流套接zipFile,然后將src文件寫入zipFile,其中ZipEntry中放入的源文件的當(dāng)前名稱,putNextEntry是將源文件的當(dāng)前名稱定位到條目數(shù)據(jù)的開始處。

補(bǔ)充:Java ZIP壓縮輸入輸出流

ZIP是一種較為常見的壓縮形式,在Java中要想實(shí)現(xiàn)ZIP的壓縮需要導(dǎo)入java.util.zip包,可以使用此包中的ZipFile、ZipOutputStream、ZipInputStream、ZipEntry幾個(gè)類完成。

ZipOutputStream類的常用方法

Java GZIPOutputStream流壓縮文件的操作

ZipInputStream類的常用方法

Java GZIPOutputStream流壓縮文件的操作

在JAVA IO中,不僅可以實(shí)現(xiàn)ZIP壓縮格式的輸入、輸出,也可以實(shí)現(xiàn)JAR及GZIP文件格式的壓縮:

1、JAR壓縮的支持類保存在java.util.jar包中,常用的類有 JarOutputStream(JAR壓縮輸出流)、JarInputStream(JAR壓縮輸入流)、JARFile(JAR文件)、JAREntry(JAR實(shí)體)

2、GZIP是用于UNIX系統(tǒng)的文件壓縮,在Linux中經(jīng)常會(huì)使用到*.gz的文件,就是GZIP格式,GZIP壓縮的支持類保存在java.util.zip包中,常用的類有 GZIPOutputStream(GZIP壓縮輸出流)、GZIPInputStream(GZIP壓縮輸入流)

注意:

1、壓縮文件中的每一個(gè)壓縮實(shí)體都使用ZipEntry保存,一個(gè)壓縮文件中可能包含一個(gè)或多個(gè)ZipEntry對(duì)象。

2、在JAVA中可以進(jìn)行zip、jar、gz三種格式的壓縮支持,操作流程基本上是一致的。

3、ZipOutputStream可以進(jìn)行壓縮的輸出,但是輸出的位置不一定是文件。

4、ZipFile表示每一個(gè)壓縮文件,可以得到每一個(gè)壓縮實(shí)體的輸入流。

壓縮文件

import java.io.*;import java.util.zip.*; public class MyZip { // 創(chuàng)建類 private void zip(String zipFileName, File inputFile) throws Exception { ZipOutputStream out = new ZipOutputStream(new FileOutputStream( zipFileName)); // 創(chuàng)建ZipOutputStream類對(duì)象 zip(out, inputFile, ''); // 調(diào)用方法 System.out.println('壓縮中…'); // 輸出信息 out.close(); // 將流關(guān)閉 } private void zip(ZipOutputStream out, File f, String base) throws Exception { // 方法重載 if (f.isDirectory()) { // 測(cè)試此抽象路徑名表示的文件是否是一個(gè)目錄 File[] fl = f.listFiles(); // 獲取路徑數(shù)組 out.putNextEntry(new ZipEntry(base + '/')); // 寫入此目錄的entry base = base.length() == 0 ? '' : base + '/'; // 判斷參數(shù)是否為空 for (int i = 0; i < fl.length; i++) { // 循環(huán)遍歷數(shù)組中文件 zip(out, fl[i], base + fl[i]); } } else { out.putNextEntry(new ZipEntry(base)); // 創(chuàng)建新的進(jìn)入點(diǎn) // 創(chuàng)建FileInputStream對(duì)象 FileInputStream in = new FileInputStream(f); int b; // 定義int型變量 System.out.println(base); while ((b = in.read()) != -1) { // 如果沒有到達(dá)流的尾部 out.write(b); // 將字節(jié)寫入當(dāng)前ZIP條目 } in.close(); // 關(guān)閉流 } } public static void main(String[] temp) { // 主方法 MyZip book = new MyZip(); // 創(chuàng)建本例對(duì)象 try { // 調(diào)用方法,參數(shù)為壓縮后文件與要壓縮文件 book.zip('hello.zip', new File('src')); System.out.println('壓縮完成'); // 輸出信息 } catch (Exception ex) { ex.printStackTrace(); } }}解壓文件

import java.io.*;import java.util.zip.*; public class Decompressing { // 創(chuàng)建文件 public static void main(String[] temp) { ZipInputStream zin; // 創(chuàng)建ZipInputStream對(duì)象 try { // try語句捕獲可能發(fā)生的異常 zin = new ZipInputStream(new FileInputStream('hello.zip')); // 實(shí)例化對(duì)象,指明要進(jìn)行解壓的文件 ZipEntry entry = zin.getNextEntry(); // 獲取下一個(gè)ZipEntry while (((entry = zin.getNextEntry()) != null) && !entry.isDirectory()) { // 如果entry不為空,并不在同一目錄下 File file = new File('d:' + entry.getName()); // 獲取文件目錄 System.out.println(file); if (!file.exists()) { // 如果該文件不存在 file.mkdirs();// 創(chuàng)建文件所在文件夾 file.createNewFile(); // 創(chuàng)建文件 } zin.closeEntry(); // 關(guān)閉當(dāng)前entry System.out.println(entry.getName() + '解壓成功'); } zin.close(); // 關(guān)閉流 } catch (Exception e) { e.printStackTrace(); } }}

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。

標(biāo)簽: Java
相關(guān)文章:
主站蜘蛛池模板: 中国黄色一级毛片 | 亚洲国产精品人久久 | 国产亚洲精品美女2020久久 | 麻豆国产高清在线播放 | 成人αv在线视频高清 | 精品久久久久久国产 | 国产毛片一区二区三区精品 | 千百橹最新亚洲地址在线播放 | 一级毛片a | 红色一级毛片 | 日韩欧美亚洲国产 | 中文字幕午夜乱理片11111 | 中文字幕色婷婷在线精品中 | 国产播放啪视频免费视频 | 99aiav国产精品视频 | 看片地址 | 国产在线视频自拍 | 国产高清在线精品免费不卡 | 曰曰啪天天拍视频在线 | 亚洲最大的黄色网址 | 日本一级网站 | 黄网站色视频免费看无下截 | 久久精品国产免费看久久精品 | 成人欧美在线观看 | 久久91精品国产一区二区 | chinese国产videoxx实拍 | 国产成人三级经典中文 | 在线免费看片网站 | 亚洲三级国产 | 达达兔午夜起神影院在线观看麻烦 | 青青草99久久精品国产综合 | 国产高清大尺度一区二区不卡 | 国产娱乐凹凸视觉盛宴在线视频 | 一级黄色大片网站 | 91福利视频合集 | 国产成人免费手机在线观看视频 | 国产亚洲精品片a77777 | 美女久久久久 | 在线播放一区 | 欧美激情一区二区三区不卡 | 美女批日起爽在线观看 |