Methoden Dateienliste Zippen

Lucaaa

Bekanntes Mitglied
Hey!
Ich hab einen Methode die ein Array aus Datenpfaden (Inputdaten), und eine Output Datei (Pfad) entgegennimmt.
Das Problem ist nun, dass in der erstellten Zip-Datei nur die letzte Datei der Inputliste auftaucht.
Es müssen aber alle Dateien in die Zip.
Ich hoffe mir kann wer weiter helfen

Die Methode:
Java:
private static void zipFile(String[] inFileName, String outFileName){
  File des = new File(outFileName);
 
  File[] src = new File[inFileName.length];
  FileInputStream fis = null;
  FileOutputStream fos= null;
  ZipOutputStream zos = null;
  ZipEntry ze;
 
  for(int i = 0; i<inFileName.length; i++) {
  try {
   src[i] = new File(inFileName[i]);
    fis = new FileInputStream(src[i]);
    fos = new FileOutputStream(des);
    zos = new ZipOutputStream(fos);
    ze = new ZipEntry(src[i].getName());
    zos.putNextEntry(ze);
   
    byte[] buffer = new byte[1024];
   
    while(fis.read(buffer) != -1) {
     zos.write(buffer);
    }
   
   fis.close();
   zos.flush();
   zos.close();
   
   
   
  } catch (FileNotFoundException e) {
    e.printStackTrace();
   } catch (IOException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  }
 
 
 
 
 
 }
 

Robat

Top Contributor
Du öffnest / schließt bei jeder Iteration einen neuen FileOutputStream/ZipOutputStream. Du solltest aber nur einen, also für alle Files den selben, fos / zos nehmen.
 

Ähnliche Java Themen

Neue Themen


Oben