类 ZipUtil
java.lang.Object
com.luna.common.file.ZipUtil
压缩工具类
- 作者:
- Looly
- 另请参阅:
-
构造器概要
构造器 -
方法概要
修饰符和类型方法说明static voidappend(Path zipPath, Path appendFilePath, CopyOption... options) 在zip文件中添加新文件或目录
新文件添加在zip根目录,文件夹包括其本身和内容
如果待添加文件夹是系统根路径(如/或c:/),则只复制文件夹下的内容static InputStream获取压缩包中的指定文件流static InputStream获取压缩包中的指定文件流static InputStream获取指定ZipEntry的流,用于读取这个entry的内容static ZipOutputStreamgetZipOutputStream(OutputStream out, Charset charset) static byte[]gzip(byte[] buf) Gzip压缩处理static byte[]Gzip压缩文件static byte[]gzip(InputStream in) Gzip压缩文件static byte[]gzip(InputStream in, int length) Gzip压缩文件static byte[]Gzip压缩处理static void读取并处理Zip文件中的每一个ZipEntrystatic voidread(ZipInputStream zipStream, java.util.function.Consumer<ZipEntry> consumer) 读取并处理Zip流中的每一个ZipEntrystatic ZipFile将Zip文件转换为ZipFilestatic byte[]unGzip(byte[] buf) Gzip解压处理static StringGzip解压缩处理static byte[]unGzip(InputStream in) Gzip解压处理static byte[]unGzip(InputStream in, int length) Gzip解压处理static File解压到文件名相同的目录中,使用UTF-8编码static File解压,默认使用UTF-8编码static File解压static File解压到文件名相同的目录中static Fileunzip(InputStream in, File outFile, Charset charset) 解压
ZIP条目不使用高速缓冲。static File解压到文件名相同的目录中,默认编码UTF-8static File解压,默认UTF-8编码static File解压static File解压到文件名相同的目录中static File解压static Fileunzip(ZipInputStream zipStream, File outFile) 解压
ZIP条目不使用高速缓冲。static byte[]unzipFileBytes(File zipFile, String name) 从Zip文件中提取指定的文件为bytesstatic byte[]unzipFileBytes(File zipFile, Charset charset, String name) 从Zip文件中提取指定的文件为bytesstatic byte[]unzipFileBytes(String zipFilePath, String name) 从Zip文件中提取指定的文件为bytesstatic byte[]unzipFileBytes(String zipFilePath, Charset charset, String name) 从Zip文件中提取指定的文件为bytesstatic byte[]unZlib(byte[] buf) 解压缩zlibstatic StringZlib解压缩处理static byte[]unZlib(InputStream in) 解压缩zlibstatic byte[]unZlib(InputStream in, int length) 解压缩zlibstatic File打包到当前目录,使用默认编码UTF-8static File对文件或文件目录进行压缩
使用默认UTF-8编码static Filezip(File zipFile, String[] paths, InputStream[] ins) 对流中的数据加入到压缩文件
路径列表和流列表长度必须一致static Filezip(File zipFile, String[] paths, InputStream[] ins, Charset charset) 对流中的数据加入到压缩文件
路径列表和流列表长度必须一致static Filezip(File zipFile, String path, InputStream in) 对流中的数据加入到压缩文件
使用默认编码UTF-8static Filezip(File zipFile, String path, InputStream in, Charset charset) 对流中的数据加入到压缩文件static File对流中的数据加入到压缩文件,使用默认UTF-8编码static File对流中的数据加入到压缩文件static File打包到当前目录static File对文件或文件目录进行压缩static Filezip(File zipFile, Charset charset, boolean withSrcDir, FileFilter filter, File... srcFiles) 对文件或文件目录进行压缩static voidzip(OutputStream out, String[] paths, InputStream[] ins) 将文件流压缩到目标流中static voidzip(OutputStream out, Charset charset, boolean withSrcDir, FileFilter filter, File... srcFiles) 对文件或文件目录进行压缩static File打包到当前目录,使用默认编码UTF-8static File对文件或文件目录进行压缩
不包含被打包目录static File对文件或文件目录进行压缩static File对文件或文件目录进行压缩static File打包到当前目录static voidzip(ZipOutputStream zipOutputStream, boolean withSrcDir, FileFilter filter, File... srcFiles) 已过时。static voidzip(ZipOutputStream zipOutputStream, String[] paths, InputStream[] ins) 将文件流压缩到目标流中static byte[]zlib(byte[] buf, int level) 打成Zlib压缩包static byte[]Zlib压缩文件static byte[]zlib(InputStream in, int level) 打成Zlib压缩包static byte[]zlib(InputStream in, int level, int length) 打成Zlib压缩包static byte[]Zlib压缩处理
-
构造器详细资料
-
ZipUtil
public ZipUtil()
-
-
方法详细资料
-
toZipFile
将Zip文件转换为ZipFile- 参数:
file- zip文件charset- 解析zip文件的编码,null表示CharsetUtil.CHARSET_UTF_8- 返回:
ZipFile
-
getStream
获取指定ZipEntry的流,用于读取这个entry的内容- 参数:
zipFile-ZipFilezipEntry-ZipEntry- 返回:
- 流
- 抛出:
IOException- 从以下版本开始:
- 5.5.2
-
getZipOutputStream
- 参数:
out- 压缩文件流charset- 编码- 返回:
ZipOutputStream- 从以下版本开始:
- 5.8.0
-
append
public static void append(Path zipPath, Path appendFilePath, CopyOption... options) throws IOException 在zip文件中添加新文件或目录
新文件添加在zip根目录,文件夹包括其本身和内容
如果待添加文件夹是系统根路径(如/或c:/),则只复制文件夹下的内容- 参数:
zipPath- zip文件的PathappendFilePath- 待添加文件Path(可以是文件夹)options- 拷贝选项,可选是否覆盖等- 抛出:
IOException- 从以下版本开始:
- 5.7.15
-
zip
打包到当前目录,使用默认编码UTF-8- 参数:
srcPath- 源文件路径- 返回:
- 打包好的压缩文件
- 抛出:
IOException
-
zip
打包到当前目录- 参数:
srcPath- 源文件路径charset- 编码- 返回:
- 打包好的压缩文件
- 抛出:
IOException
-
zip
打包到当前目录,使用默认编码UTF-8- 参数:
srcFile- 源文件或目录- 返回:
- 打包好的压缩文件
- 抛出:
IOException
-
zip
打包到当前目录- 参数:
srcFile- 源文件或目录charset- 编码- 返回:
- 打包好的压缩文件
- 抛出:
IOException
-
zip
对文件或文件目录进行压缩
不包含被打包目录- 参数:
srcPath- 要压缩的源文件路径。如果压缩一个文件,则为该文件的全路径;如果压缩一个目录,则为该目录的顶层目录路径zipPath- 压缩文件保存的路径,包括文件名。注意:zipPath不能是srcPath路径下的子文件夹- 返回:
- 压缩好的Zip文件
- 抛出:
IOException
-
zip
对文件或文件目录进行压缩- 参数:
srcPath- 要压缩的源文件路径。如果压缩一个文件,则为该文件的全路径;如果压缩一个目录,则为该目录的顶层目录路径zipPath- 压缩文件保存的路径,包括文件名。注意:zipPath不能是srcPath路径下的子文件夹withSrcDir- 是否包含被打包目录- 返回:
- 压缩文件
- 抛出:
IOException
-
zip
public static File zip(String srcPath, String zipPath, Charset charset, boolean withSrcDir) throws IOException 对文件或文件目录进行压缩- 参数:
srcPath- 要压缩的源文件路径。如果压缩一个文件,则为该文件的全路径;如果压缩一个目录,则为该目录的顶层目录路径zipPath- 压缩文件保存的路径,包括文件名。注意:zipPath不能是srcPath路径下的子文件夹charset- 编码withSrcDir- 是否包含被打包目录- 返回:
- 压缩文件
- 抛出:
IOException
-
zip
对文件或文件目录进行压缩
使用默认UTF-8编码- 参数:
zipFile- 生成的Zip文件,包括文件名。注意:zipPath不能是srcPath路径下的子文件夹withSrcDir- 是否包含被打包目录,只针对压缩目录有效。若为false,则只压缩目录下的文件或目录,为true则将本目录也压缩srcFiles- 要压缩的源文件或目录。- 返回:
- 压缩文件
- 抛出:
IOException
-
zip
public static File zip(File zipFile, Charset charset, boolean withSrcDir, File... srcFiles) throws IOException 对文件或文件目录进行压缩- 参数:
zipFile- 生成的Zip文件,包括文件名。注意:zipPath不能是srcPath路径下的子文件夹charset- 编码withSrcDir- 是否包含被打包目录,只针对压缩目录有效。若为false,则只压缩目录下的文件或目录,为true则将本目录也压缩srcFiles- 要压缩的源文件或目录。如果压缩一个文件,则为该文件的全路径;如果压缩一个目录,则为该目录的顶层目录路径- 返回:
- 压缩文件
- 抛出:
IOException
-
zip
public static File zip(File zipFile, Charset charset, boolean withSrcDir, FileFilter filter, File... srcFiles) throws IOException 对文件或文件目录进行压缩- 参数:
zipFile- 生成的Zip文件,包括文件名。注意:zipPath不能是srcPath路径下的子文件夹charset- 编码withSrcDir- 是否包含被打包目录,只针对压缩目录有效。若为false,则只压缩目录下的文件或目录,为true则将本目录也压缩filter- 文件过滤器,通过实现此接口,自定义要过滤的文件(过滤掉哪些文件或文件夹不加入压缩)srcFiles- 要压缩的源文件或目录。如果压缩一个文件,则为该文件的全路径;如果压缩一个目录,则为该目录的顶层目录路径- 返回:
- 压缩文件
- 抛出:
IOException- 从以下版本开始:
- 4.6.5
-
zip
public static void zip(OutputStream out, Charset charset, boolean withSrcDir, FileFilter filter, File... srcFiles) throws IOException 对文件或文件目录进行压缩- 参数:
out- 生成的Zip到的目标流,包括文件名。注意:zipPath不能是srcPath路径下的子文件夹charset- 编码withSrcDir- 是否包含被打包目录,只针对压缩目录有效。若为false,则只压缩目录下的文件或目录,为true则将本目录也压缩filter- 文件过滤器,通过实现此接口,自定义要过滤的文件(过滤掉哪些文件或文件夹不加入压缩)srcFiles- 要压缩的源文件或目录。如果压缩一个文件,则为该文件的全路径;如果压缩一个目录,则为该目录的顶层目录路径- 抛出:
IOException- 从以下版本开始:
- 5.1.1
-
zip
@Deprecated public static void zip(ZipOutputStream zipOutputStream, boolean withSrcDir, FileFilter filter, File... srcFiles) 对文件或文件目录进行压缩- 参数:
zipOutputStream- 生成的Zip到的目标流,自动关闭此流withSrcDir- 是否包含被打包目录,只针对压缩目录有效。若为false,则只压缩目录下的文件或目录,为true则将本目录也压缩filter- 文件过滤器,通过实现此接口,自定义要过滤的文件(过滤掉哪些文件或文件夹不加入压缩)srcFiles- 要压缩的源文件或目录。如果压缩一个文件,则为该文件的全路径;如果压缩一个目录,则为该目录的顶层目录路径- 从以下版本开始:
- 5.1.1
-
zip
对流中的数据加入到压缩文件,使用默认UTF-8编码- 参数:
zipFile- 生成的Zip文件,包括文件名。注意:zipPath不能是srcPath路径下的子文件夹path- 流数据在压缩文件中的路径或文件名data- 要压缩的数据- 返回:
- 压缩文件
- 从以下版本开始:
- 3.0.6
-
zip
对流中的数据加入到压缩文件- 参数:
zipFile- 生成的Zip文件,包括文件名。注意:zipPath不能是srcPath路径下的子文件夹path- 流数据在压缩文件中的路径或文件名data- 要压缩的数据charset- 编码- 返回:
- 压缩文件
- 从以下版本开始:
- 3.2.2
-
zip
对流中的数据加入到压缩文件
使用默认编码UTF-8- 参数:
zipFile- 生成的Zip文件,包括文件名。注意:zipPath不能是srcPath路径下的子文件夹path- 流数据在压缩文件中的路径或文件名in- 要压缩的源- 返回:
- 压缩文件
- 从以下版本开始:
- 3.0.6
-
zip
对流中的数据加入到压缩文件- 参数:
zipFile- 生成的Zip文件,包括文件名。注意:zipPath不能是srcPath路径下的子文件夹path- 流数据在压缩文件中的路径或文件名in- 要压缩的源,默认关闭charset- 编码- 返回:
- 压缩文件
- 从以下版本开始:
- 3.2.2
-
zip
对流中的数据加入到压缩文件
路径列表和流列表长度必须一致- 参数:
zipFile- 生成的Zip文件,包括文件名。注意:zipPath不能是srcPath路径下的子文件夹paths- 流数据在压缩文件中的路径或文件名ins- 要压缩的源,添加完成后自动关闭流- 返回:
- 压缩文件
- 从以下版本开始:
- 3.0.9
-
zip
对流中的数据加入到压缩文件
路径列表和流列表长度必须一致- 参数:
zipFile- 生成的Zip文件,包括文件名。注意:zipPath不能是srcPath路径下的子文件夹paths- 流数据在压缩文件中的路径或文件名ins- 要压缩的源,添加完成后自动关闭流charset- 编码- 返回:
- 压缩文件
- 从以下版本开始:
- 3.0.9
-
zip
将文件流压缩到目标流中- 参数:
out- 目标流,压缩完成自动关闭paths- 流数据在压缩文件中的路径或文件名ins- 要压缩的源,添加完成后自动关闭流- 从以下版本开始:
- 5.5.2
-
zip
将文件流压缩到目标流中- 参数:
zipOutputStream- 目标流,压缩完成自动关闭paths- 流数据在压缩文件中的路径或文件名ins- 要压缩的源,添加完成后自动关闭流- 从以下版本开始:
- 5.5.2
-
unzip
解压到文件名相同的目录中,默认编码UTF-8- 参数:
zipFilePath- 压缩文件路径- 返回:
- 解压的目录
-
unzip
解压到文件名相同的目录中- 参数:
zipFilePath- 压缩文件路径charset- 编码- 返回:
- 解压的目录
- 从以下版本开始:
- 3.2.2
-
unzip
解压到文件名相同的目录中,使用UTF-8编码- 参数:
zipFile- 压缩文件- 返回:
- 解压的目录
- 从以下版本开始:
- 3.2.2
-
unzip
解压到文件名相同的目录中- 参数:
zipFile- 压缩文件charset- 编码- 返回:
- 解压的目录
- 从以下版本开始:
- 3.2.2
-
unzip
解压,默认UTF-8编码- 参数:
zipFilePath- 压缩文件的路径outFileDir- 解压到的目录- 返回:
- 解压的目录
-
unzip
解压- 参数:
zipFilePath- 压缩文件的路径outFileDir- 解压到的目录charset- 编码- 返回:
- 解压的目录
-
unzip
解压,默认使用UTF-8编码- 参数:
zipFile- zip文件outFile- 解压到的目录- 返回:
- 解压的目录
-
unzip
解压- 参数:
zipFile- zip文件outFile- 解压到的目录charset- 编码- 返回:
- 解压的目录
- 从以下版本开始:
- 3.2.2
-
unzip
解压- 参数:
zipFile- zip文件,附带编码信息,使用完毕自动关闭outFile- 解压到的目录- 返回:
- 解压的目录
- 从以下版本开始:
- 4.5.8
-
get
获取压缩包中的指定文件流- 参数:
zipFile- 压缩文件charset- 编码path- 需要提取文件的文件名或路径- 返回:
- 压缩文件流,如果未找到返回
null - 抛出:
IOException- 从以下版本开始:
- 5.5.2
-
get
获取压缩包中的指定文件流- 参数:
zipFile- 压缩文件path- 需要提取文件的文件名或路径- 返回:
- 压缩文件流,如果未找到返回
null - 抛出:
IOException- 从以下版本开始:
- 5.5.2
-
read
读取并处理Zip文件中的每一个ZipEntry- 参数:
zipFile- Zip文件consumer-ZipEntry处理器- 从以下版本开始:
- 5.5.2
-
unzip
解压
ZIP条目不使用高速缓冲。- 参数:
in- zip文件流,使用完毕自动关闭outFile- 解压到的目录charset- 编码- 返回:
- 解压的目录
- 从以下版本开始:
- 4.5.8
-
unzip
解压
ZIP条目不使用高速缓冲。- 参数:
zipStream- zip文件流,包含编码信息outFile- 解压到的目录- 返回:
- 解压的目录
- 从以下版本开始:
- 4.5.8
-
read
读取并处理Zip流中的每一个ZipEntry- 参数:
zipStream- zip文件流,包含编码信息consumer-ZipEntry处理器- 从以下版本开始:
- 5.5.2
-
unzipFileBytes
从Zip文件中提取指定的文件为bytes- 参数:
zipFilePath- Zip文件name- 文件名,如果存在于子文件夹中,此文件名必须包含目录名,例如images/aaa.txt- 返回:
- 文件内容bytes
- 抛出:
IOException- 从以下版本开始:
- 4.1.8
-
unzipFileBytes
public static byte[] unzipFileBytes(String zipFilePath, Charset charset, String name) throws IOException 从Zip文件中提取指定的文件为bytes- 参数:
zipFilePath- Zip文件charset- 编码name- 文件名,如果存在于子文件夹中,此文件名必须包含目录名,例如images/aaa.txt- 返回:
- 文件内容bytes
- 抛出:
IOException- 从以下版本开始:
- 4.1.8
-
unzipFileBytes
从Zip文件中提取指定的文件为bytes- 参数:
zipFile- Zip文件name- 文件名,如果存在于子文件夹中,此文件名必须包含目录名,例如images/aaa.txt- 返回:
- 文件内容bytes
- 抛出:
IOException- 从以下版本开始:
- 4.1.8
-
unzipFileBytes
从Zip文件中提取指定的文件为bytes- 参数:
zipFile- Zip文件charset- 编码name- 文件名,如果存在于子文件夹中,此文件名必须包含目录名,例如images/aaa.txt- 返回:
- 文件内容bytes
- 抛出:
IOException- 从以下版本开始:
- 4.1.8
-
gzip
Gzip压缩处理- 参数:
content- 被压缩的字符串charset- 编码- 返回:
- 压缩后的字节流
-
gzip
public static byte[] gzip(byte[] buf) Gzip压缩处理- 参数:
buf- 被压缩的字节流- 返回:
- 压缩后的字节流
-
gzip
Gzip压缩文件- 参数:
file- 被压缩的文件- 返回:
- 压缩后的字节流
-
gzip
Gzip压缩文件- 参数:
in- 被压缩的流- 返回:
- 压缩后的字节流
- 从以下版本开始:
- 4.1.18
-
gzip
Gzip压缩文件- 参数:
in- 被压缩的流length- 预估长度- 返回:
- 压缩后的字节流
- 从以下版本开始:
- 4.1.18
-
unGzip
Gzip解压缩处理- 参数:
buf- 压缩过的字节流charset- 编码- 返回:
- 解压后的字符串
-
unGzip
public static byte[] unGzip(byte[] buf) Gzip解压处理- 参数:
buf- buf- 返回:
- bytes
-
unGzip
Gzip解压处理- 参数:
in- Gzip数据- 返回:
- 解压后的数据
-
unGzip
Gzip解压处理- 参数:
in- Gzip数据length- 估算长度,如果无法确定请传入DEFAULT_BYTE_ARRAY_LENGTH- 返回:
- 解压后的数据
- 从以下版本开始:
- 4.1.18
-
zlib
Zlib压缩处理- 参数:
content- 被压缩的字符串charset- 编码level- 压缩级别,1~9- 返回:
- 压缩后的字节流
- 从以下版本开始:
- 4.1.4
-
zlib
Zlib压缩文件- 参数:
file- 被压缩的文件level- 压缩级别- 返回:
- 压缩后的字节流
- 从以下版本开始:
- 4.1.4
-
zlib
public static byte[] zlib(byte[] buf, int level) 打成Zlib压缩包- 参数:
buf- 数据level- 压缩级别,0~9- 返回:
- 压缩后的bytes
- 从以下版本开始:
- 4.1.4
-
zlib
打成Zlib压缩包- 参数:
in- 数据流level- 压缩级别,0~9- 返回:
- 压缩后的bytes
- 从以下版本开始:
- 4.1.19
-
zlib
打成Zlib压缩包- 参数:
in- 数据流level- 压缩级别,0~9length- 预估大小- 返回:
- 压缩后的bytes
- 从以下版本开始:
- 4.1.19
-
unZlib
Zlib解压缩处理- 参数:
buf- 压缩过的字节流charset- 编码- 返回:
- 解压后的字符串
- 从以下版本开始:
- 4.1.4
-
unZlib
public static byte[] unZlib(byte[] buf) 解压缩zlib- 参数:
buf- 数据- 返回:
- 解压后的bytes
- 从以下版本开始:
- 4.1.4
-
unZlib
解压缩zlib- 参数:
in- 数据流- 返回:
- 解压后的bytes
- 从以下版本开始:
- 4.1.19
-
unZlib
解压缩zlib- 参数:
in- 数据流length- 预估长度- 返回:
- 解压后的bytes
- 从以下版本开始:
- 4.1.19
-
zip(OutputStream, Charset, boolean, FileFilter, File...)