2010-04-19 5 views
0

사실 나는 문제가 있습니다. 내 응용 프로그램의 한 패키지에 ".apk-File"이 있습니다. apk는 jar File (apk = Android Package)의 일종입니다. 이제이 jar 파일을 내 프로그램에서 PC의 다른 위치로 복사하려고합니다.Java - Jar 폴더 복사

FileInputStream is = new FileInputStream(this.getClass().getResource("/resources/myApp.apk").getFile()); 

을 그리고 FileOutputStream 또는를 사용하여 디스크에 쓰기 은 일반적으로 내가 사용하여이 작업을 수행 할 것입니다. ... .apk는 일종의 .jar이므로 작동하지 않습니다. .apk 파일을 복사하기 만하면됩니다. 하지만 다른 파일을 포함하지 않고. (이 구성 파일 디렉토리 내부에 저장되어있는 몇 가지 구체적인 정의와 zip 파일입니다 즉) 다른 이름으로 .jar 파일 다음에 ZipInputStream

도움이 .apk 때문에

답변

1

을 감상 할 수있다 파일을 읽고 내용을 살펴보고 파일로 쓰십시오.

:
0

이이 같은 일을 수행 할 필요가 밖으로 SB되어 나는 아마 :) 기다리고 있었다 힌트이었다 ... 대단히 Yishai 감사 때문에 ... 여기 내 코드입니다
public static boolean copyApkFile(File outputFile){ 
     try { 
      FileInputStream fis = new FileInputStream(this.getClass().getResource("/resources/myApkFile.apk").getFile()); 
      ZipInputStream zis = new ZipInputStream(fis); 
      FileOutputStream fos = new FileOutputStream(outputFile)); 
      ZipOutputStream zos = new ZipOutputStream(fos); 
      ZipEntry ze = null; 
      byte[] buf = new byte[1024]; 
      while ((ze = zis.getNextEntry()) != null) { 
       System.out.println("Next entry "+ze.getName()+" "+ze.getSize()); 
       zos.putNextEntry(ze); 
       int len; 
       while ((len = zis.read(buf)) > 0) { 
        zos.write(buf, 0, len); 
       } 
      } 
      zos.close(); 
      fos.close(); 
      zis.close(); 
      fis.close(); 
      return true; 
     } catch (IOException ex) { 
      Logger.getLogger(SetUpNewDevice.class.getName()).log(Level.SEVERE, null, ex); 
      return false; 
     } 
    }