2013-08-21 69 views
0

我想從服務器(file1.z01,file1.z02,file1.z03等)下載夫婦的zip文件部分Android的分裂zip文件,使文件

現在下載所有的部件後即可,我們通過代碼將這些部分合併爲一個zip文件並製作一個zip文件?

+0

所以你要下載文件,並將它們合併到一個zip文件。只有 – Prakhar

回答

0

您可以使用此只需更改相應的值...

import android.util.Log; 
import java.io.BufferedInputStream; 
import java.io.BufferedOutputStream; 
import java.io.FileInputStream; 
import java.io.FileOutputStream; 
import java.util.zip.ZipEntry; 
import java.util.zip.ZipOutputStream; 


public class Compress { 
    private static final int BUFFER = 2048; 

    private String[] _files; 
    private String _zipFile; 

    public Compress(String[] files, String zipFile) { 
    _files = files; 
    _zipFile = zipFile; 
    } 

    public void zip() { 
    try { 
     BufferedInputStream origin = null; 
     FileOutputStream dest = new FileOutputStream(_zipFile); 

     ZipOutputStream out = new ZipOutputStream(new BufferedOutputStream(dest)); 

     byte data[] = new byte[BUFFER]; 

     for(int i=0; i < _files.length; i++) { 
     Log.v("Compress", "Adding: " + _files[i]); 
     FileInputStream fi = new FileInputStream(_files[i]); 
     origin = new BufferedInputStream(fi, BUFFER); 
     ZipEntry entry = new ZipEntry(_files[i].substring(_files[i].lastIndexOf("/") + 1)); 
     out.putNextEntry(entry); 
     int count; 
     while ((count = origin.read(data, 0, BUFFER)) != -1) { 
      out.write(data, 0, count); 
     } 
     origin.close(); 
     } 

     out.close(); 
    } catch(Exception e) { 
     e.printStackTrace(); 
    } 

    } 

} 
+0

其添加這些文件壓縮成zip文件,但我必須做出一個zip文件從這些zip文件部分。我簡單地將我的zip文件分成幾部分並上傳到服務器上。現在我想在我的應用程序中下載這些零件文件,並重建/合併回壓縮文件到應用程序中。 –

+0

你知道如何從服務器上下載文件嗎?只是問問 – Prakhar

0

Zip4j有一個方便的方法來合併拆分壓縮文件。

ZipFile.mergeSplitFiles(File outputZipFile) 

將全部的分割zip文件合併與outputZipFile

指定一個zip文件,可以說你已經分手的zip文件:ZipFileName.z01,ZipFileName.z02,ZipFileName.z03 ..... ZipFileName .ZIP代碼下面將它們合併到MergedZipFile.zip

import java.io.File; 

import net.lingala.zip4j.core.ZipFile; 
import net.lingala.zip4j.exception.ZipException; 

public class MergeZipFile { 

    public static void main(String[] args) { 
     try { 
      ZipFile zipFile = new ZipFile("ZipFileName.zip"); 
      zipFile.mergeSplitFiles(new File("MergedZipFile.zip")); 
     } catch (ZipException e) { 
      e.printStackTrace(); 
     } 
    } 

}