Pfad mitgeben und bestimmen, in welches Verzeichnis

janinejaeger

Mitglied
Hallo,

ich habe nun eine Möglichkeit gefunden, meine Datei zu entzippen... das läuft alles ganz nett, nur muss meine Zip-datei in gleichen Ordner liegen wie mein Package, in dem meine Java-datein sind. Auch die ausgepackten Datein werden da rein gespeichert, ich habe keine Möglichkeit, meine ausgepackten Datein wo anders hin zu speichern. Kann mit jemand helfen?
Hier der Quellcode:

Code:
public class EntZippen {
   final static int BUFFER = 2048;
   public static void main (String argv[]) {
      try {
         BufferedOutputStream ziel = null;
      //   FileInputStream fis = new FileInputStream(argv[0]);
         ZipInputStream zis = new  ZipInputStream(new BufferedInputStream(new FileInputStream(argv[0])));
         ZipEntry entry;
         
         while((entry = zis.getNextEntry()) != null) {
        	 
        	// File f=new File("C:/Documents and Settings/jr78bv/workspace/h1/");
        	
            System.out.println("Extracting: " +entry);
            int count;
            byte data[] = new byte[BUFFER];
            // write the files to the disk
       
            FileOutputStream fos = new FileOutputStream(entry.getName());
                       ziel = new            BufferedOutputStream(fos, BUFFER);
            
            while ((count = zis.read(data, 0, BUFFER)) != -1) {
               ziel.write(data, 0, count);
            }
            ziel.flush();
            ziel.close();
         }
         zis.close();
      } catch(Exception e) {
         e.printStackTrace();
      }
   }
}

Danke und liebeGrüße,Janine
 
Wenn dein Zeil fürs entpacken ein Ordner ist und dieser im String destination liegt dann so:
Java:
File elementFile = new File(destination, entry.getName());
FileOutputStream fos = new FileOutputStream(elementFile );
 
Da das normale Slashes sind funktionierts auch bei Unix. Normale Windows Backslashes \\ würden nicht mit Unix funktioniert. Aber Windows kommt ja netterweise mit beidem klar. Trotzdem gebe ich dir Recht dass man immer File.separator nutzen sollte statt einen Pfadtrenner hardcodiert anzugeben. Wer weiss was noch so an Betriebssystem kommt ;)
 
Zurück