wlu: refined unzip method
diff --git a/1.5/plugins/org.eclipse.epf.common/src/org/eclipse/epf/common/utils/FileUtil.java b/1.5/plugins/org.eclipse.epf.common/src/org/eclipse/epf/common/utils/FileUtil.java
index c64cc2d..f88ee68 100644
--- a/1.5/plugins/org.eclipse.epf.common/src/org/eclipse/epf/common/utils/FileUtil.java
+++ b/1.5/plugins/org.eclipse.epf.common/src/org/eclipse/epf/common/utils/FileUtil.java
@@ -1143,11 +1143,18 @@
while (entries.hasMoreElements()) {
ZipEntry entry = (ZipEntry) entries.nextElement();
+
+ File tgtFile = new File(tgtDir, entry.getName());
- if (entry.isDirectory()) {
- (new File(tgtDir, entry.getName())).mkdir();
+ if (entry.isDirectory() && ! tgtFile.exists()) {
+ tgtFile.mkdirs();
+
} else {
-
+ File parentFolder = tgtFile.getParentFile();
+ if (! parentFolder.exists()) {
+ parentFolder.mkdirs();
+ }
+
copyInputStream(zipFile.getInputStream(entry),
new BufferedOutputStream(new FileOutputStream(
new File(tgtDir, entry.getName()))));