如何从JAR中提取文件夹

问题描述

Jar是简单的ZIP文件。您可以使用java.util.zip。*包解压缩文件

解决方法

我需要在运行时复制一个打包在Jar中的文件夹。我想通过在同样包含在同一文件夹中的类中调用函数来实现。

我试过使用getSystemResource

URL sourceDirUrl = ClassLoader.getSystemResource("sourceDirName"); 
File sourceDir = new File(sourceDirUrl.toURI());

但这不起作用。我可能必须getResourceAsStream递归使用函数。有没有更优雅/前瞻的方式来做到这一点?

万一我必须递归地做它:1.我不想指定硬编码的文件,我想动态地做它2.我不想创建一个单独的档案。我希望此资源与处理该资源的类位于同一个Jar中

谢谢

我最后做了Koziołek的建议。尽管我希望有一个更优雅的解决方案,但是看起来这确实是一个很好的解决方案。