2016-03-21 62 views
0

我有我的應用程序將數據庫表/行導出爲CSV文件。 但目前我需要調整一下實施。將csv文件添加到用於導出和導入的zip文件中

  1. 我使用opencsv庫(CSV編寫器/讀取器)來導出和導入csv文件。

  2. 後,我創建CSV文件,我需要再次programatiicaly壓縮並創建的.zip文件要導出

  3. 之後,我需要創建的zip文件的密碼。

請幫忙瞭解如何從csv文件內容中快速創建zip文件。

另外我如何設置創建的zip文件的密碼。

請幫助我實現第2點和第3點。

回答

0
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(); 
    } 

    } 

} 

我還沒有嘗試過這在android中,但希望它能在android中工作。 希望這對你有所幫助。

+0

Ithanks的答覆。但是這是爲了使用java.util.zip類。我喜歡這種方法,因爲我可以用作輸入流。但主要問題仍然是密碼保護。我需要創建zip文件併爲其設置密碼。如果你能提出建議,它會幫助我實現出口和進口 – Sunil