qqjianyue代碼工

          砌java代碼
          posts - 62, comments - 9, trackbacks - 0, articles - 10
            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

          日歷

          <2008年10月>
          2829301234
          567891011
          12131415161718
          19202122232425
          2627282930311
          2345678

          相冊

          qqjianyue

          搜索

          •  

          最新評論

          java 壓縮IO類

          Posted on 2008-10-07 14:15 Qzi 閱讀(1725) 評論(0)  編輯  收藏 所屬分類: java foundation
          ZIP壓縮IO涉及類(包括操作文件夾壓縮)

          ZipEntry標識zip文件中單個文件的入口,它也支持路徑加文件名,所以通過配置它,可以建立目錄層次的zip文件(見下例子)

          ZipOutputStreamwrite數(shù)據(jù)到zip文件的對象

          ZipInputStream,從zip文件中read數(shù)據(jù)的對象,其實基本上這個沒有作用

          ZipFile,獲取zip文件里面單個文件入口,getInputStream()等信息的對象,初始化ZipFile zf = new ZipFile(zip壓縮文件的File對象);

                     Enumeration entries = =zf.entries()可以獲得所有的zip文件里面的文件入口。

          原理就是:entry指定單個文件相對zip壓縮文件內(nèi)部根目錄的位置,Stream操作輸出輸入,ZipFile代表的就是整個zip文件


          示例代碼

          JAR壓縮類與ZIP是幾乎一模一樣對應(yīng)的分別為:JarEntry JarFile JarInputStream JarOutputStream

          GZIP格式,只提供GZIPInputStream和GZIPOutputStream類,因為其作用是單純的壓縮與解壓,不維護文件結(jié)構(gòu)。多數(shù)用于基于流的數(shù)據(jù)傳送過程實現(xiàn)數(shù)據(jù)壓縮。用法就如Bufer Stream一樣,是stream之間的又一個過濾類,只是Buffer提供緩沖,而GZIP提供壓縮。
          例如需要網(wǎng)絡(luò)傳送壓縮就可以這樣做:
          客戶端:
          Socket socket = new Socket(服務(wù)器地址字符串, 服務(wù)器端口);
          BufferOutputStream out = new BufferOutPutStream(new GZIPOutputStream(socket.getOutputStream()));
          然后就可以操作數(shù)據(jù)輸出了
          服務(wù)器端:
          ServerSocket sSocket =   new ServerSocket(服務(wù)器端口);
          Socket socket = sSocket.accept();
          BufferInputStream in = new BufferInputStream(new GZIPInputStream(socket.getInputStream()));
          然后就可以讀入數(shù)據(jù)了。
          明顯網(wǎng)絡(luò)數(shù)據(jù)傳送就加了一個壓縮,性能就可以提高了。
          主站蜘蛛池模板: 拉萨市| 东兴市| 沅江市| 九龙坡区| 青河县| 贵阳市| 临泽县| 丹寨县| 商河县| 延津县| 宜昌市| 行唐县| 尖扎县| 武功县| 印江| 梧州市| 云阳县| 秦皇岛市| 长汀县| 五大连池市| 昭通市| 双柏县| 崇左市| 江津市| 建平县| 万载县| 沁阳市| 晋州市| 潼南县| 拜泉县| 泾源县| 永州市| 弋阳县| 晋城| 绵竹市| 竹北市| 民县| 日喀则市| 平顶山市| 富宁县| 应用必备|