Я пытаюсь заархивировать следующую файловую структуру на своей машине,
parent/
parent/test1
parent/test1/image1.jpeg
parent/test2
Проблема в том, что я не могу заархивировать вышеуказанную файловую структуру с помощью java. У меня есть Google и я нашел следующий пример кода, но он только заархивирует файлы только внутри данной папки.
File inFolder=new File("out");
File outFolder=new File("Out.zip");
ZipOutputStream out = new ZipOutputStream(new
BufferedOutputStream(new FileOutputStream(outFolder)));
BufferedInputStream in = null;
byte[] data = new byte[1000];
String files[] = inFolder.list();
for (int i=0; i<files.length; i++)
{
in = new BufferedInputStream(new FileInputStream
(inFolder.getPath() + "/" + files[i]), 1000);
out.putNextEntry(new ZipEntry(files[i]));
int count;
while((count = in.read(data,0,1000)) != -1)
{
out.write(data, 0, count);
}
out.closeEntry();
}
out.flush();
out.close();
В приведенном выше коде выход — это папка, и нам нужно иметь некоторые файлы. \newfolder\image.jpeg), если это так, выдается исключение java.io.FileNotFoundException: out\newfolder (доступ запрещен).
В моем случае я создаю вышеуказанную файловую структуру, запрашивая базу данных, иногда могут быть пустые папки в структуре папок.
Может кто-нибудь, пожалуйста, скажите мне решение?
Спасибо.