I am trying to add some files to a ZIP file, it creates the file but does not add anything into it.
Code 1:
String fulldate = year + "-" + month + "-" + day + "-" + min;
File dateFolder = new File("F:\\" + compname + "\\" + fulldate);
dateFolder.mkdir();
String zipName = "F:\\" + compname + "\\" + fulldate + "\\" + fulldate + ".zip";
zipFolder(tobackup, zipName);
My function:
public static void zipFolder(File folder, String name) throws Exception {
byte[] buffer = new byte[18024];
ZipOutputStream out = new ZipOutputStream(new FileOutputStream(name));
FileInputStream in = new FileInputStream(folder);
out.putNextEntry(new ZipEntry(name));
int len;
while((len = in.read(buffer)) > 0) {
out.write(buffer, 0, len);
}
out.closeEntry();
in.close();
out.close();
}
Edit: I found the problem, it was just having trouble writing files from the C:\ drive into a ZIP in the F:\ drive
You can’t zip folders, only files. To zip folders, you have to add all the subfiles manually. I wrote this class that does the job. You can have it for free 🙂
The usage would be this:
Here is the class:
Enjoy!
EDIT: To check if the program is still busy, you can add the three lines I marked with a (*)
EDIT 2: Try the new code. On my platform, it runs correct (OS X). I’m not sure but, there might be some limited read permissions for files in Windows in AppData.