问题描述
Jar是简单的ZIP文件。您可以使用java.util.zip。*包解压缩文件。
解决方法
我需要在运行时复制一个打包在Jar中的文件夹。我想通过在同样包含在同一文件夹中的类中调用函数来实现。
我试过使用getSystemResource
:
URL sourceDirUrl = ClassLoader.getSystemResource("sourceDirName");
File sourceDir = new File(sourceDirUrl.toURI());
但这不起作用。我可能必须getResourceAsStream
递归使用函数。有没有更优雅/前瞻的方式来做到这一点?
万一我必须递归地做它:1.我不想指定硬编码的文件,我想动态地做它2.我不想创建一个单独的档案。我希望此资源与处理该资源的类位于同一个Jar中
谢谢
我最后做了Koziołek的建议。尽管我希望有一个更优雅的解决方案,但是看起来这确实是一个很好的解决方案。