2011-04-15 48 views
1

如何提取所有文件夾,子文件夾,子文件夾內存儲的任何jar文件和opy這些內容到java中的目標文件夾中的文件夾和文件夾編碼在eclipse平臺......... 任何人都可以建議我... 我嘗試了許多與zipinput流有關的代碼..在枚舉中存儲zipfile實體並將其寫入detination文件夾。但沒有它的正常工作......提取jar內容並存儲在目標文件夾中

+0

讓我們瞭解您到目前爲止編碼。 – adarshr 2011-04-15 08:45:06

回答

0

如果你想要一個基於Eclipse的解決方案,選擇

File menu > Import ... > General > Archive File 

但是,如果你想有一個Java代碼的解決方案,一是使用Guava這裏的:

public static void unpackZipFile(final File archive, final File targetDirectory) 
throws ZipException, IOException { 
    ZipFile zipFile = new ZipFile(archive); 
    Enumeration<? extends ZipEntry> entries = zipFile.entries(); 
    while (entries.hasMoreElements()) { 
     final ZipEntry zipEntry = entries.nextElement(); 
     if (zipEntry.isDirectory()) 
      continue; 
     final File targetFile = new File(targetDirectory, 
      zipEntry.getName()); 
     Files.createParentDirs(targetFile); 
     ByteStreams.copy(zipFile.getInputStream(zipEntry), Files 
      .newOutputStreamSupplier(targetFile).getOutput()); 
    } 
} 
0

您可以使用這個非常簡單的庫來打包/解壓縮jar文件

JarManager

很簡單

import java.io.File; 
import java.util.List; 

import fr.stevecohen.jarmanager.JarUnpacker; 

class Test { 
    JarUnpacker jarUnpacker = new JarUnpacker(); 
    File myfile = new File("./myfile.jar"); 
    File unpackDir = new File("./mydir"); 

    List<File> unpacked_files = jarUnpacker.unpack(myfile.getAbsolutePath(), unpackDir.getAbsolutePath()); 
} 

您還可以使用行家依賴

<dependency> 
    <groupId>fr.stevecohen.jarmanager</groupId> 
    <artifactId>JarManager</artifactId> 
    <version>0.5.0</version> 
</dependency> 

你還需要我的倉庫

<repository> 
    <id>repo-reapersoon</id> 
    <name>ReaperSoon's repo</name> 
    <url>http://repo-maven.stevecohen.fr</url> 
</repository> 

檢查的最後一個版本的鏈接鍾嗷嗷利用最後的依賴

請使用我的public issue tracker,如果你發現了一些錯誤

相關問題