public abstract class AbstractZipFile<I extends java.io.InputStream,O extends java.io.OutputStream>
extends java.lang.Object
| 构造器和说明 |
|---|
AbstractZipFile() |
AbstractZipFile(java.io.File zipFile)
基于已有zip文件构建的ZipFile
|
AbstractZipFile(java.io.InputStream inputStream) |
AbstractZipFile(java.net.URL zipURL) |
| 限定符和类型 | 方法和说明 |
|---|---|
void |
append(byte[] bytes,
java.lang.String toName)
对zip追加 字节
|
void |
append(java.io.File file,
java.lang.String toName)
对zip追加文件
|
void |
append(java.io.InputStream inputStream,
java.lang.String toName)
对zip追加流
|
void |
append(java.net.URL url,
java.lang.String toName)
对zip追加URL
|
void |
appendDir(java.lang.String dirName)
添加目录
|
void |
appendDirAndChildren(java.io.File dir)
添加目录以及子文件
|
void |
appendDirAndChildren(java.io.File dir,
java.io.FileFilter filter)
添加目录以及子文件
|
void |
appendDirAndChildren(java.lang.String dir)
添加目录以及子文件
|
void |
appendDirAndChildren(java.lang.String dir,
java.io.FileFilter filter)
添加目录以及子文件
|
void |
copy(java.lang.String srcName,
java.lang.String toName)
拷贝文件
|
void |
delete(java.lang.String srcName)
删除条目
|
protected abstract java.util.List<ZipFileEntry> |
doScanEntry(java.io.InputStream inputStream)
zip读取条目,子类可覆盖该实现
|
protected abstract void |
doUnzipAppend(java.io.InputStream inputStream,
ZipFileEntry entry,
java.lang.String dir)
解压追加压缩对象
|
protected abstract void |
doUnzipBase(I inputStream,
java.util.List<ZipFileEntry> baseZipFileEntries,
java.lang.String dir)
解压基础压缩对象
|
protected abstract void |
doZipAppend(java.io.InputStream inputStream,
O outputStream,
ZipFileEntry entry)
压缩过程对添加对象的处理
|
protected abstract void |
doZipBase(I inputStream,
O outputStream,
java.util.List<ZipFileEntry> baseZipFileEntries)
压缩过程对基础压缩对象的处理
|
java.util.List<ZipFileEntry> |
getBaseZipEntries()
获取基础压缩对象的条目结构, 非当前对象的条目结构
|
protected java.io.InputStream |
getBaseZipInputStream()
基础zip压缩文件流
|
ZipFileEntry |
getEntryByName(java.lang.String name)
根据文件名称获取压缩包中的条目
|
protected java.io.InputStream |
getInputStreamOfAppendEntry(java.lang.String appendEntryName)
获取追加条目的流
|
protected java.util.List<ZipFileEntry> |
getZipFileEntry()
获取当前对象的条目信息
|
protected abstract I |
getZipInputStream(java.io.InputStream inputStream)
获取压缩输入流,用于把普通流包装成压缩流; 普通流原本就是压缩流
|
protected abstract O |
getZipOutputStream(java.io.File compressedFile)
获取压缩输出流
|
void |
move(java.lang.String srcName,
java.lang.String toName)
移动条目到另一个位置
|
void |
unzip(java.io.File outputDir)
解压文件到目录
|
void |
unzip(java.lang.String outputDir)
解压文件到目录
|
java.io.File |
zip(java.io.File outputFile)
输出压缩文件
|
java.io.File |
zip(java.lang.String outputFile)
输出压缩文件
|
public static final int ZIP_FILE
public static final int ZIP_URL
public static final int ZIP_BYTES
public AbstractZipFile()
public AbstractZipFile(java.io.File zipFile)
zipFile - 已有的压缩文件public AbstractZipFile(java.net.URL zipURL)
public AbstractZipFile(java.io.InputStream inputStream)
protected java.io.InputStream getBaseZipInputStream()
throws java.io.IOException
java.io.IOExceptionprotected java.io.InputStream getInputStreamOfAppendEntry(java.lang.String appendEntryName)
throws java.io.IOException
appendEntryName - 条目名称java.io.IOExceptionprotected java.util.List<ZipFileEntry> getZipFileEntry()
public java.util.List<ZipFileEntry> getBaseZipEntries()
public ZipFileEntry getEntryByName(java.lang.String name)
name - 文件名称protected abstract java.util.List<ZipFileEntry> doScanEntry(java.io.InputStream inputStream)
inputStream - 输入流public void move(java.lang.String srcName,
java.lang.String toName)
srcName - 移动前的条目名称toName - 移动后的条目名称public void copy(java.lang.String srcName,
java.lang.String toName)
srcName - 源条目toName - 目标条目public void delete(java.lang.String srcName)
srcName - 源条目public void append(java.io.File file,
java.lang.String toName)
file - put文件toName - 追加到zip中的条目名称public void append(java.net.URL url,
java.lang.String toName)
url - URLtoName - 追加到zip中的条目名称public void append(java.io.InputStream inputStream,
java.lang.String toName)
inputStream - 流toName - 追加到zip中的条目名称public void append(byte[] bytes,
java.lang.String toName)
bytes - 字节toName - 追加到zip中的条目名称public void appendDir(java.lang.String dirName)
dirName - 目录public void appendDirAndChildren(java.io.File dir,
java.io.FileFilter filter)
dir - 目录filter - 过滤public void appendDirAndChildren(java.io.File dir)
dir - 目录appendDirAndChildren(File, FileFilter)public void appendDirAndChildren(java.lang.String dir,
java.io.FileFilter filter)
dir - 目录filter - 过滤appendDirAndChildren(File, FileFilter)public void appendDirAndChildren(java.lang.String dir)
dir - 目录appendDirAndChildren(String, FileFilter)protected abstract I getZipInputStream(java.io.InputStream inputStream) throws java.io.IOException
java.io.IOExceptionprotected abstract O getZipOutputStream(java.io.File compressedFile) throws java.io.IOException
java.io.IOExceptionpublic final java.io.File zip(java.io.File outputFile)
outputFile - 压缩文件public final java.io.File zip(java.lang.String outputFile)
outputFile - 压缩文件zip(File)protected abstract void doZipBase(I inputStream, O outputStream, java.util.List<ZipFileEntry> baseZipFileEntries) throws java.io.IOException
inputStream - 基础压缩对象的流outputStream - 压缩输出流baseZipFileEntries - 操作后和基础压缩相关的条目集合java.io.IOExceptionprotected abstract void doZipAppend(java.io.InputStream inputStream,
O outputStream,
ZipFileEntry entry)
throws java.io.IOException
inputStream - 添加对象的流; 表示目录时, 流为空outputStream - 压缩输出流entry - 操作的当前条目信息java.io.IOExceptionpublic final void unzip(java.io.File outputDir)
outputDir - 输出目录public final void unzip(java.lang.String outputDir)
outputDir - 输出目录unzip(File)protected abstract void doUnzipBase(I inputStream, java.util.List<ZipFileEntry> baseZipFileEntries, java.lang.String dir) throws java.io.IOException
inputStream - 基础压缩对象的流baseZipFileEntries - 压缩dir - 解压到的目录java.io.IOExceptionprotected abstract void doUnzipAppend(java.io.InputStream inputStream,
ZipFileEntry entry,
java.lang.String dir)
throws java.io.IOException
inputStream - 追加压缩流entry - 压缩文件中追加的条目dir - 解压目录java.io.IOException