I can't believe I didn't test this, but the Zip Library I built and posted a while ago was not working with Jar files. I fixed it, I think it is working now. Any problems, let me know.
[Update, 2007 January 4: Someone asked in the comments how to extract a ZipEntry to a particular folder. There is an Extract() method in the ZipEntry class that accepts a string name of a target directory as an argument. When the entry is extracted it is created using the specified directory as the root of the tree. ZipEntry's themselves may have a relative path, so the actual entry may be one or more subdirectory levels deep in the extracted tree.]
[30 October 2007: updated with latest source. Also, the zip library has graduated to a CodePlex project. See DotNetZip on CodePlex ]