Java zipfile
In Java, the java.util.zip
package provides classes for reading and writing zip files. The ZipFile
class provides methods for reading zip files, while the ZipOutputStream
class provides methods for creating and writing to zip files.
Here is an example of how to create a zip file using ZipOutputStream
:
import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.util.zip.ZipEntry; import java.util.zip.ZipOutputStream; public class ZipExample { public static void main(String[] args) { String zipFileName = "myZipFile.zip"; String fileToZip = "fileToZip.txt"; try (ZipOutputStream zipOutputStream = new ZipOutputStream(new FileOutputStream(zipFileName))) { File file = new File(fileToZip); FileInputStream fileInputStream = new FileInputStream(file); ZipEntry zipEntry = new ZipEntry(file.getName()); zipOutputStream.putNextEntry(zipEntry); byte[] bytes = new byte[1024]; int length; while ((length = fileInputStream.read(bytes)) >= 0) { zipOutputStream.write(bytes, 0, length); } fileInputStream.close(); zipOutputStream.closeEntry(); } catch (IOException e) { e.printStackTrace(); } } }
In this example, we create a zip file called "myZipFile.zip" and add a single file to it called "fileToZip.txt". We create a ZipOutputStream
object and use it to write the compressed data to the output file. We first create a File
object for the file that we want to add to the zip file. We then create a FileInputStream
object to read the data from the file. We create a ZipEntry
object for the file and use putNextEntry
method of ZipOutputStream
to add this entry to the zip file. We then read the data from the FileInputStream
and write it to the ZipOutputStream
. Finally, we close the FileInputStream
and the ZipEntry
.
Note that we are using the try-with-resources statement to ensure that the FileInputStream
and ZipOutputStream
objects are closed properly when we are done working with them. Also, you can add multiple files to the zip file by repeating the same steps of creating a ZipEntry
, writing data to it and closing the entry for each file that needs to be added to the zip file.