Здесь у меня есть папка (ZipFilesFolder), состоящая из 10 zip-файлов, например one.zip, two.zip, three.zip..ten.zip, я каждый раз передаю файл из этой папки в zipFileToUnzip как zipFilename. Мне нужно результат в той же папке (ZipFilesFolder) мне нужно распаковать эти файлы, и вместо one.zip, two.zip, .. одна, две, три папки должны быть видны.
public static void zipFileToUnzip(File zipFilename) throws IOException {
try {
//String destinationname = "D:\\XYZ";
byte[] buf = new byte[1024];
ZipInputStream zipinputstream = null;
ZipEntry zipentry;
zipinputstream = new ZipInputStream(new FileInputStream(zipFilename));
zipentry = zipinputstream.getNextEntry();
while (zipentry != null) {
//for each entry to be extracted
String entryName = zipentry.getName();
System.out.println("entryname " + entryName);
int n;
FileOutputStream fileoutputstream;
File newFile = new File(entryName);
String directory = newFile.getParent();
if (directory == null) {
if (newFile.isDirectory()) {
break;
}
}
fileoutputstream = new FileOutputStream(
destinationname + entryName);
while ((n = zipinputstream.read(buf, 0, 1024)) > -1) {
fileoutputstream.write(buf, 0, n);
}
fileoutputstream.close();
zipinputstream.closeEntry();
zipentry = zipinputstream.getNextEntry();
}//while
zipinputstream.close();
} catch (IOException e) {
}
}
Это мой код, но он не работает, может ли кто-нибудь мне помочь, как получить желаемый результат.