日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java流与文件——ZIP文档

發(fā)布時間:2023/12/3 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java流与文件——ZIP文档 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

【0】README

0.1) 本文描述轉(zhuǎn)自 core java volume 2, 旨在理解 java流與文件——ZIP文檔 的相關(guān)知識;
0.2) for source code, please visit https://github.com/pacosonTang/core-java-volume/blob/master/coreJavaAdvanced/chapter1/ZipTest.java


【1】ZipInputStream + ZipOutputStream:

1.1)ZipInputStream: 讀入 zip 文件(zip文件 == ZipEntry)
1.2)ZipOutputStream: 寫出到 zip 文件;


【2】下面是典型的通讀ZIP文件的代碼序列:

ZipInputStream zis = new ZipInputStream(new FileInputStream(zipname)); ZipEntry zipEntry; while((entry = zip.getNextEntry()) != null) {......zin.closeEntry(); } zin.close();

2.1 )當(dāng)希望讀入某個 zip 項的內(nèi)容時, 我們可能并不想使用原生的read 方法, 通常,我們將使用某個更能勝任的流過濾器方法:

Scanner in = new Scanner(zis); while(in.hasNextLine())do sth with in.nextLine();
  • Warning) 在讀入單個ZIP 項之后后,不要關(guān)閉ZIP輸入流, 也不要將 其傳遞給 可能會關(guān)閉它的方法, 否則, 你就不能再讀入后序的項了;


2.2) 要寫出到ZIP文件, 使用 ZipOutputStream, 對于你希望放入到 ZIP 文件中的每一項, 都應(yīng)該創(chuàng)建一個 ZipEntry 對象, 并將文件名傳遞給 ZipEntry的構(gòu)造器, 它將設(shè)置其他諸如文件日期和解壓縮方法等參數(shù);
2.3)如果需要:

  • step1)覆蓋這些設(shè)置;
  • step2)需要調(diào)用 ZipOutputStream 的 putNextEntry 方法來開始寫出新文件, 并將文件數(shù)據(jù)發(fā)送到 ZIP流中;
  • step3)當(dāng)完成時, 需要調(diào)用 closeEntry;然后你需要對所有你希望存儲的文件都重復(fù)這個過程, 如以下代碼:
FileOutputStream fos = new FileOutputStream("test.zip"); ZipOutputStream zos = new ZipOutputStream(fos); for all files {ZipEntry ze = new ZipEntry(filename);zos.putNextEntry(ze);...zout.closeEntry(); } zout.close();


Attention)

  • A1) JAR 文件 只是帶有一個特殊項的ZIP文件, 這個項稱為清單;
  • A2)可以使用 JarInputStream 和 JarOutputStream 類來讀寫清單項;
  • A3) ZIP 流是一個能夠展示流的抽象化的強(qiáng)大之處的實例。 當(dāng)你讀入以壓縮格式存儲的數(shù)據(jù)時,不必?fù)?dān)心邊請求邊解壓數(shù)據(jù)的問題, 而且ZIP 格式的字節(jié)源并非必須是文件, 也可以是來自網(wǎng)絡(luò)連接的 ZIP 數(shù)據(jù);

總結(jié)

以上是生活随笔為你收集整理的java流与文件——ZIP文档的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。