# Ordner in ZipDatei erstellen



## Lay-C (21. Jul 2009)

Hallo,

Ich versuche gerade eine Zip-Datei zu erstellen, diese soll intern eine bestimmte Struktur haben.

ZipDatei mit name "test.zip" enthält Ordner "test" dieser enthält eine "test.xml" und einen Ordner "objects", der verschiedene Ordner mit Medien-Dateien enthält.

Jedoch ist keiner der Ordner in der ursprünglichen Ordnerstruktur vorhanden. Diese sieht wie folgt aus:
"Ordner1" darin enthalten sind "test.xml", Ordner "flash" mit Flash-Dateien, Ordner "java" mit Java-Applets, Ordner "image" mit Bildern...

Nun würde ich gerne die Ordner nicht von Hand erstellen sondern direkt in die Zip-Datei schreiben. Mein Code sieht bis jetzt so aus:


```
try{
			System.out.println("Starting...");
			xmlFile = new File(xmlPath);
			zipFile = new File(xmlFile.getName().split("\\.")[0]+".zip");
			zos = new ZipOutputStream(new FileOutputStream(zipFile));
			System.out.println("Created OutputStream for "+zipFile);
			ZipEntry rootFolder = new ZipEntry(xmlFile.getName().split("\\.")[0]);
			zos.putNextEntry(rootFolder);
			zos.closeEntry();
			zos.close();
		} catch(IOException e){
			e.printStackTrace();
		}
```

Dadurch wird zwar die zip-Datei erzeugt, der Ordner der darin eigentlich enthalten sein soll, ist aber eine Datei ohne Dateiendung.

Kann mir jemand sagen wie ich da einen Ordner anlegen kann, da ich bis jetzt nirgends etwas dazu gefunden hab... und ich habe gesucht (Google und SuFu hier)


----------



## void (21. Jul 2009)

Soweit ich weis ist es nicht möglich leere Ordner zu erstellen. 

Ordner werden automatisch aufgrund des Entry-Pfads angelegt.


----------



## Lay-C (22. Jul 2009)

Also müsste ich vorher lokal die Ordnerstruktur mit den Dateien anlegen und dann zippen oder?


----------



## woezelmann (22. Jul 2009)

versuchs mal hiermit: truezip


----------

