數據壓縮格式Java語言應用程序設計方法
——第一部分 ZIP壓縮格式程序設計方法
作者
基於Java語言的健壯姓
但是
JDK環境中提供了多種類型的數據壓縮方式
●ZIP格式
●GZIP格式
●JAR格式
在本系列文章中
第一部分 ZIP壓縮格式程序設計方法
當然
ZIP壓縮格式是在Windows操作系統環境中經常應用的壓縮格式
在JDK API的java
●ZipEntry
由於可以將多個文件壓縮到同一壓縮文件中
對象定義結構
java
靜態成員變量
CENATT
這些靜態成員變量用於定義在壓縮過程中采用的壓縮算法
構造方法
ZipEntry(String name) 采用字符串類型參數name定義壓縮文件中的原始文件入口對象實例
ZipEntry(ZipEntry e) 采用ZipEntry對象類型參數e定義壓縮文件中的原始文件入口對象實例
成員方法
long getCompressedSize() 獲取壓縮文件的大小
void setCompressedSize(long csize) 設置壓縮文件的大小
int getMethod() 獲取壓縮時采用的壓縮算法
void setMethod(int method) 設置壓縮算法
long getSize() 獲取壓縮原始文件的大小
void setSize(long size) 設置壓縮原始文件的大小
long getTime() 獲取壓縮文件入口標識的定義時間
void setTime(long time) 設置壓縮文件入口標識的定義時間
boolean isDirectory() 判斷該壓縮入口標識是否代表目錄
String getName() 返回壓縮入口標識的名稱
●ZipFile
該對象用於從ZIP壓縮格式文件中讀取壓縮原始文件的入口
對象定義結構
java
靜態成員變量
CENATT
這些靜態成員變量用於定義在壓縮過程中采用的壓縮算法
構造方法
ZipFile(File file) 從File對象代表的壓縮文件中讀取壓縮原始文件
ZipFile(File file
ZipFile(String name) 打開字符串參數name表示的ZIP壓縮文件
成員方法
void close() 關閉被讀取的ZIP壓縮文件
Enumeration entries() 枚舉出ZIP壓縮文件中的各個壓縮原始文件入口(Entry)
ZipEntry getEntry(String name) 獲取壓縮文件中的各個壓縮原始文件入口
InputStream getInputStream(ZipEntry entry) 通過ZIP壓縮文件中的入口創建輸入流對象
String getName() 獲取ZIP壓縮文件的名稱
int size() 獲取壓縮文件中的入口數量
●ZipInputStream
該對象用於從ZIP壓縮文件中創建輸入流對象
對象定義結構
java
靜態成員變量
CENATT
這些靜態成員變量用於定義在壓縮過程中采用的壓縮算法
構造方法
ZipInputStream(InputStream in) 應用輸入流對象創建從ZIP文件中讀取數據的輸入流對象
成員方法
int available() 判斷當前入口指定的壓縮原始文件中是否還有未讀數據
void close() 關閉ZIP輸入流對象
void closeEntry() 關閉被讀取的ZIP入口
protectedZipEntry createZipEntry(String name) 利用指定的名稱創建ZipEntry對象實例
ZipEntry getNextEntry() 將輸入流對象移動到下一入口對象
int read(byte[] b
long skip(long n) 將輸入流指定的讀取數據位置移動n個字節
●ZipOutputStream
該數據輸出流對象用於創建ZIP壓縮文件
對象定義結構
java
靜態成員變量
CENATT
這些靜態成員變量用於定義在壓縮過程中采用的壓縮算法
構造方法
ZipOutputStream(OutputStream out) 應用輸出流對象實例創建ZIP格式輸出流對象
成員方法
void close() 關閉ZIP輸出流對象
void closeEntry() 關閉當前ZIP輸出流對象指定的Entry
void putNextEntry(ZipEntry e) 在ZIP壓縮文件中創建新的壓縮原始文件入口
void setComment(String comment) 設置壓縮文件的說明信息
void setMethod(int method) 設置采用的壓縮算法
void write(byte[] b
經過前面對JDK API中創建ZIP壓縮格式文件的相關對象的結構
//ZipDemo
import java
import java
public class ZipDemo
{
public static void main(String[] args)
{
if (args
{
System
System
}
try
{
//創建文件輸入流對象
FileInputStream in = new FileInputStream( args[
//創建文件輸出流對象
FileOutputStream out = new FileOutputStream( args[
//創建ZIP數據輸出流對象
ZipOutputStream zipOut = new ZipOutputStream( out );
//創建指向壓縮原始文件的入口
ZipEntry entry = new ZipEntry( args[
zipOut
//向壓縮文件中輸出數據
int nNumber;
byte[] buffer = new byte[
while ((nNumber=in
zipOut
//關閉創建的流對象
zipOut
out
in
}
catch(IOException e)
{
System
}
}
}
From:http://tw.wingwit.com/Article/program/Java/hx/201311/26438.html