Zip and Unzip from a C# program using J# runtime






4.54/5 (35 votes)
Zip and Unzip from a C# program using java.util.zip
Introduction
There are a lot of libraries to work with zip files. I found a very easy way to
work with zip files from a C# program. The Microsoft .Net Framework 1.1 comes
with new language: J#. Let's look at it a little. For sure, Java is a
parent of it; if so, java.util.zip
is somewhere here! I spent a few minutes and
found it in vjslib.dll. Let's do the work. Start a new C# project and select
Windows Application. Our goal is something like that:
All we need to do is: add reference to our project:
Now, we can use it:
// Output stream
java.io.FileOutputStream fos = new java.io.FileOutputStream(zipFileName);
// Tie to zip stream
java.util.zip.ZipOutputStream zos = new java.util.zip.ZipOutputStream(fos);
// Stream with source file
java.io.FileInputStream fis = new java.io.FileInputStream(sourceFile);
// It's our entry in zip
java.util.zip.ZipEntry ze = new java.util.zip.ZipEntry(sourceFile);
zos.putNextEntry(ze);
sbyte[] buffer = new sbyte[1024];
int len;
// Read and write until done
while((len = fis.read(buffer)) >= 0)
{
zos.write(buffer, 0, len);
}
// Close everything
zos.closeEntry();
fis.close();
zos.close();
fos.close();
Conclusion
That's all! Demo application is included.