in org.apache.easyant4e/src/org/apache/easyant4e/ivyde/extension/RepositoryInstaller.java [49:97]
private void unPackArchive(File installDir) throws IOException {
InputStream inputStream = this.interpreterZipUrl.openStream();
ZipInputStream zipFileStream = new ZipInputStream(inputStream);
ZipEntry zipEntry = zipFileStream.getNextEntry();
while (zipEntry != null) {
File destination = new File(installDir.getPath(), zipEntry.getName());
if (!zipEntry.isDirectory()) {
/*
* Copy files (and make sure parent directory exist)
*/
File parentFile = destination.getParentFile();
boolean parentFileExist = isFileExists(parentFile);
if (!parentFileExist) {
parentFileExist = parentFile.mkdirs();
}
if (parentFileExist) {
OutputStream os = null;
try {
os = new FileOutputStream(destination);
byte[] buffer = new byte[BUFFER_SIZE];
while (true) {
int len = zipFileStream.read(buffer);
if (zipFileStream.available() == 0) {
break;
}
os.write(buffer, 0, len);
}
} finally {
if (null != os) {
os.close();
}
}
} else {
Activator.getEasyAntPlugin().log(IStatus.ERROR,
"Installing EasyAnt repository, but " + parentFile + " already exists!");
}
} else {
boolean created = destination.mkdirs();
if (!created) {
Activator.getEasyAntPlugin().log(IStatus.ERROR,
"Installing EasyAnt repository. Cannot create directory: " + destination);
}
}
zipFileStream.closeEntry();
zipEntry = zipFileStream.getNextEntry();
}
inputStream.close();
zipFileStream.close();
}