Click here to Skip to main content
15,878,959 members
Articles / Programming Languages / C#
Article

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

Rate me:
Please Sign up or sign in to vote.
4.54/5 (38 votes)
25 Apr 2004CPOL 272.5K   3.6K   47   42
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:

Image 1

All we need to do is: add reference to our project:

Image 2

Now, we can use it:

C#
// 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.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Software Developer
Russian Federation Russian Federation
Over 12 years of experience as a Software Developer/Engineer, development and production support applications for MS DOS, MS Windows.
Certified C Programmer
Certified C++ Programmer
Certified Visual FoxPro Programmer
Certified C# Programmer

Comments and Discussions

 
GeneralRe: What about multiple folders? Pin
wyattda17-Jan-06 17:36
wyattda17-Jan-06 17:36 
GeneralRe: Alternative (with code) Pin
Christopher Stratmann5-Dec-06 4:49
Christopher Stratmann5-Dec-06 4:49 
GeneralAble to zip directories and their contents Pin
nicholaskeytholeong26-Aug-05 19:01
nicholaskeytholeong26-Aug-05 19:01 
GeneralRe: Able to zip directories and their contents Pin
obinna_eke30-May-06 1:29
obinna_eke30-May-06 1:29 
GeneralRe: Able to zip directories and their contents Pin
sanjayg1233-Mar-07 21:59
sanjayg1233-Mar-07 21:59 
GeneralZipping folders and their subdirectories Pin
nicholaskeytholeong12-Aug-05 17:39
nicholaskeytholeong12-Aug-05 17:39 
GeneralRe: Zipping folders and their subdirectories Pin
nicholaskeytholeong12-Aug-05 17:42
nicholaskeytholeong12-Aug-05 17:42 
GeneralThank You Pin
Seth O'Neal6-May-05 7:37
Seth O'Neal6-May-05 7:37 
Valeri ,
Thank you for posting this.
It helped me alot with something I am working on.



Seth O'Neal
GeneralThere is a bug in those classes Pin
Nish Nishant9-May-04 3:56
sitebuilderNish Nishant9-May-04 3:56 
GeneralRe: There is a bug in those classes Pin
Valeri Makarov9-May-04 4:28
Valeri Makarov9-May-04 4:28 
GeneralRe: There is a bug in those classes Pin
Nish Nishant9-May-04 4:30
sitebuilderNish Nishant9-May-04 4:30 
GeneralRe: There is a bug in those classes Pin
cmhasan29-Nov-04 5:25
cmhasan29-Nov-04 5:25 
GeneralThis actually has a problem. Pin
udaan20033-May-04 5:46
udaan20033-May-04 5:46 
GeneralRe: This actually has a problem. Pin
Valeri Makarov3-May-04 7:02
Valeri Makarov3-May-04 7:02 
GeneralRe: This actually has a problem. Pin
udaan20034-May-04 5:58
udaan20034-May-04 5:58 
GeneralRe: This actually has a problem. Pin
Valeri Makarov4-May-04 7:00
Valeri Makarov4-May-04 7:00 
GeneralThis has been covered in a fair bit of detail in another article... Pin
Duncanma25-Apr-04 22:22
Duncanma25-Apr-04 22:22 
GeneralRe: This has been covered in a fair bit of detail in another article... Pin
Valeri Makarov25-Apr-04 22:45
Valeri Makarov25-Apr-04 22:45 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.