2013-02-11 1 views
0

나는 만들고있는 프로그램을위한 설치 프로그램을 만들고 있는데, zip 파일을 사용하고 있으며, 압축을 풀고 zip 폴더에서 파일을 설치하는 방법을 찾지 못했습니다. 누군가가 나를 도울 수 있다면 나는 아주 행복 할 것이다.java로 파일을 이동하는 데 사용하는 몇 가지 방법은 무엇입니까?

+0

이 API를 살펴보십시오. http://docs.oracle.com/javase/6/docs/api/java/util/zip/package-summary.html –

+0

* " 프로그램 "* [Java Web Start] (http://stackoverflow.com/tags/java-web-start/info)를 설치 프로그램으로 사용하십시오! –

+0

java.util.zip API (http://docs.oracle.com/javase/6/docs/api/java/util/zip/package-summary.html)를 살펴보고 거기에 무엇이 들어 있는지 살펴보십시오. 도와주세요. –

답변

1

파일을 압축 해제를 위해 이것을보십시오 : java.util.zip와 아파치 평민-IO 자바로 zip 파일에서 데이터를 읽을 좋은 메커니즘을 제공

String zipName = "my.zip"; 
String installDir = "/home/user/installDir"; 
try 
{ 
    ZipFile zipFile = new ZipFile(zipName); 
    files = zipFile.entries(); 
    while (files.hasMoreElements()) 
    { 
     ZipEntry zipEntry = files.nextElement(); 
     if(zipEntry.isDirectory()) 
     { 
       (new File(installDir + zipEntry.getName())).mkdir(); 
       continue; 
     } 
     InputStream in = zipFile.getInputStream(zipEntry); 
     File newFile = new File("/home/user/tmp/testdit" + File.separator + zipEntry.getName()); 

     new File(newFile.getParent()).mkdirs(); 
     FileOutputStream fos = new FileOutputStream(newFile); 
     byte[] buffer = new byte[1024]; 
     int len; 

     while ((len = in.read(buffer)) >= 0) 
     { 
       fos.write(buffer, 0, len); 
     } 

     in.close(); 
     fos.close(); 
     } 
    } catch (IOException ex) 
    { 
     ex.printStackTrace(); 
    } 
1

있지만, 실제로 디스크에 zip 파일의 압축을 해제하려는 경우 디렉토리 구조를 유지하면 그 중 가장 쉬운 Java API가 Apache Ant 일 것입니다.

Project p = new Project(); 
p.init(); 
Expand ex = new Expand(); 
ex.setProject(p); 
ex.setSrc(new File("myArchive.zip")); 
ex.setDest(new File("targetDir")); 
ex.perform(); 

그러나 다른 덧글이 언급 한 것처럼, 당신은 아마 기존의 설치 건물 도구 등 IZPack 사용을 고려보다는 바퀴를 재발견해야한다.

+0

"가장 쉬운"(내 선호하지 않음) 및 IZPack – MadProgrammer

관련 문제