Add reference...
using java.util;
using java.util.zip;
using java.io;
public string ZipFile(string savePath, string[] attachFiles)
{
string sFlag = "Error";
try
{
FileOutputStream fileOutput = new FileOutputStream(savePath);
ZipOutputStream zipOutput = new ZipOutputStream(fileOutput);
FileInputStream fileInput = null;
foreach (string file in attachFiles)
{
fileInput = new FileInputStream(file);
ZipEntry zipEntry = new ZipEntry(Path.GetFileName(file));
zipOutput.putNextEntry(zipEntry);
sbyte[] buffer = new sbyte[1024];
int len = 0;
while ((len = fileInput.read(buffer)) >= 0)
{
zipOutput.write(buffer, 0, len);
}
}
zipOutput.closeEntry();
fileInput.close();
zipOutput.close();
fileOutput.close();
return sFlag = "Success";
}
catch (Exception)
{
return sFlag;
}
}
private List<ZipEntry> GetZipFiles(ZipFile zipfill)
{
List<ZipEntry> listZip = new List<ZipEntry>();
Enumeration zipEnum = zipfill.entries();
while (zipEnum.hasMoreElements())
{
ZipEntry zipEntry = (ZipEntry)zipEnum.nextElement();
listZip.Add(zipEntry);
}
return listZip;
}
public string UnZipFile(string zippedFile, string destPath)
{
string sFlag = "Error";
try
{
ZipFile zipfile = new ZipFile(zippedFile);
List<ZipEntry> zipFiles = GetZipFiles(zipfile);
foreach (ZipEntry zipFile in zipFiles)
{
if (!zipFile.isDirectory())
{
InputStream s = zipfile.getInputStream(zipFile);
try
{
Directory.CreateDirectory(destPath + "\\" + Path.GetDirectoryName(zipFile.getName()));
FileOutputStream dest = new FileOutputStream(Path.Combine(destPath + "\\" + Path.GetDirectoryName(zipFile.getName()), Path.GetFileName(zipFile.getName())));
try
{
int len = 0;
sbyte[] buffer = new sbyte[7168];
while ((len = s.read(buffer)) >= 0)
{
dest.write(buffer, 0, len);
}
}
finally
{
dest.close();
}
}
finally
{
s.close();
}
}
sFlag = "Success";
}
return sFlag;
}
catch (Exception)
{
return sFlag;
}
}