如何将 JarEntry 复制到目录
How to copy a JarEntry to a directory
我已经扫描了maven目录(.m2)并过滤了所有以.jar结尾的文件。
List<File> jarFiles = scanRecursivelyForJarObjects(mavenRepository, fileManager);
我正在尝试将 JarFile 中的 .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())));
我已经扫描了maven目录(.m2)并过滤了所有以.jar结尾的文件。
List<File> jarFiles = scanRecursivelyForJarObjects(mavenRepository, fileManager);
我正在尝试将 JarFile 中的 .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())));