0

我对用 Java 处理 Zip 文件完全陌生。基本上,我必须删除包含所有内容的 Jar 文件(Zip 格式)中的目录。我将如何继续这样做?我尝试在 Google 上搜索了一段时间,但似乎找不到易于理解的示例或指南。由于我是该主题的新手,因此我需要学习代码。

此外,重要的是我不能解压缩和压缩 Jar,因为它包含超过 1700 个文件,并且提取/压缩所有内容的过程需要一些时间。

这是目录结构:

MyJarFile.jar
├─ <DIR> assets
├─ <DIR> net
├─ <DIR> META-INF
│  ├─ MANIFEST.MF
│  ├─ MOJANGCS.RSA
│  └─ MOJANGCS.SF
├─ File1
├─ File2
├─ ...

我需要从 Jar 文件中删除 META-INF 以及其中的内容,但我不知道该怎么做,以及从哪里开始。对这个有帮助吗?

真诚的,
- bilde2910

4

1 回答 1

0

删除 jar 中的文件的过程:

magallanes:prueba_extraer_jar coti$ jar tf EjemploDebugger.jar 
META-INF/INDEX.LIST
META-INF/
META-INF/MANIFEST.MF
ejemplodebugger/
ejemplodebugger/CalculadorDeNumerosPrimos.class
ejemplodebugger/EjemploDebugger.class
src/ejemplodebugger/CalculadorDeNumerosPrimos.java
src/ejemplodebugger/EjemploDebugger.java
magallanes:prueba_extraer_jar coti$ zip -d EjemploDebugger.jar src/ejemplodebugger/CalculadorDeNumerosPrimos.java
deleting: src/ejemplodebugger/CalculadorDeNumerosPrimos.java
magallanes:prueba_extraer_jar coti$ jar tf EjemploDebugger.jar 
META-INF/INDEX.LIST
META-INF/
META-INF/MANIFEST.MF
ejemplodebugger/
ejemplodebugger/CalculadorDeNumerosPrimos.class
ejemplodebugger/EjemploDebugger.class
src/ejemplodebugger/EjemploDebugger.java
magallanes:prueba_extraer_jar coti$ 

这显示了我用来从先前创建的 jar 中删除一个 Java 文件的代码。由于已删除的文件 (CalculadorDeNumerosPrimos.java) 位于 src/ejemplodebugger 中,因此我必须预先添加路径。删除文件后,我再次显示 jar 的内容以便能够检查。

于 2015-08-22T11:09:08.163 回答