Hallo ich würde gerne einen Ordner mit Unterordner zippen. Jedoch bekomme ich immer eine Stackoverflow Exception bei:
zip(outZip, f, f.getName());
zip(outZip, f, f.getName());
Java:
public void zip(ZipOutputStream outZip, File directory, String subdir) throws IOException
{
BufferedInputStream origin = null;
ZipOutputStream out = new ZipOutputStream(new BufferedOutputStream(outZip));
File f = new File("C:\\Users\\werner\\Desktop\\Testordner");
File files[] = f.listFiles();
for (int i = 0; i< files.length; i++)
{
if(f.isDirectory())
{
zip(outZip, f, f.getName());
}
else
{
// Dateien hinzufügen zipEntry
String name = null;
if (subdir.length() > 0)
{
name = subdir + "\\" +f.getName();
}
else
{
name = f.getName();
FileInputStream fi = new FileInputStream(files[i]);
byte data[] = new byte[BUFFER];
origin = new BufferedInputStream(fi, BUFFER);
ZipEntry entry = new ZipEntry(files[i].getName());
out.putNextEntry(entry);
System.out.println(entry.toString());
int count;
while((count = origin.read(data, 0, BUFFER)) != -1)
{
out.write(data, 0, count);
}
origin.close();
}}
}
}