如何复制一个JarEntry到一个目录



我已经扫描了maven目录(.m2),并过滤了所有以.jar结尾的文件。

List<File> jarFiles = scanRecursivelyForJarObjects(mavenRepository, fileManager);

我正在尝试将jfile中的.class文件复制到不同的目录。下面是代码:

for(File jarFile : jarFiles) {
Enumeration<JarEntry> enumeration = new JarFile(jarFile).entries();
while (enumeration.hasMoreElements()) {
JarEntry jarEntry = enumeration.nextElement();
if (!jarEntry.isDirectory() && jarEntry.getName().endsWith(".class")) {
copyFile(new FileInputStream(jarEntry), classesDir.getAbsolutePath() + "\" + jarEntry.getName());
}
}
}

但是当我尝试复制时抛出一个错误,因为jarEntry不是一个文件。

我不确定如何将jarEntry转换为文件。

您可以获得条目的输入流。

new JarFile(file).getInputStream(jarEntry)
IOUtils.copyStream(jarEntry.getInputStream(), new FileOutputStream(new File(classesDir.getAbsolutePath(), jarEntry.getName())));

最新更新