unpack200.exe 是 Java 中的一个工具,用于将 pack200 格式的压缩文件解压缩为原始的 JAR 文件。尽管 unpack200 已被弃用,并在未来的 JDK 版本中可能不再存在,但以下是关于 unpack200.exe 命令的详解,以帮助你更好地理解其用法。
unpack200 [-opt... | --option=value]... x.pack[.gz] y.jar
-H{h}, --deflate-hint={h} 覆盖传输的 deflate 提示。值可以是 true、false 或 keep(默认值)。
-r, --remove-pack-file 解压后删除输入文件。
-v, --verbose 增加程序详细性(输出更多信息)。
-q, --quiet 将详细性设置为最低级别(减少输出信息)。
-l{F}, --log-file={F} 将输出写入给定的日志文件,或使用 - 表示标准输出(默认值)。
-?, -h, --help 打印此消息。
-V, --version 打印程序版本。
-J{X} Java 虚拟机参数(将被忽略)。
(1)使用 unpack200 命令将 commons-lang3-3.4.pack.gz 文件解压为 new-commons-lang3.jar 文件,例如:
D:\share_dir\ShareDoc> unpack200.exe commons-lang3-3.4.pack.gz new-commons-lang3.jar D:\share_dir\ShareDoc> dir 驱动器 D 中的卷是 数据盘 卷的序列号是 10E3-09C5 D:\share_dir\ShareDoc 的目录 2024/07/06 16:51 <DIR> . 2024/07/05 19:53 <DIR> .. 2024/01/21 08:41 434,678 commons-lang3-3.4.jar 2024/07/06 16:36 143,772 commons-lang3-3.4.pack.gz 2024/07/06 16:51 428,904 new-commons-lang3.jar 3 个文件 1,007,354 字节 2 个目录 231,732,031,488 可用字节
(2)使用 Java 代码实现 unpack200 解压,例如:
package com.hxstrive.pack200; import java.io.File; import java.io.FileOutputStream; import java.util.jar.JarOutputStream; import java.util.jar.Pack200; /** * Unpack200 解压缩 * @author hxstrive.com */ public class Unpack200Demo { public static void main(String[] args) throws Exception { JarOutputStream output = null; try { Pack200.Unpacker unpacker = Pack200.newUnpacker(); output = new JarOutputStream(new FileOutputStream("E:\\commons-lang3-new.jar")); unpacker.unpack(new File("E:\\commons-lang3-3.4.pack.gz"), output); } finally { if(null != output) { output.close(); } } } }