Thứ Ba, 29 tháng 9, 2020

Zip file Java

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;


public class ZipFiles {

	public static void main(String[] args) throws Exception {
    	// zip single file
		String fileContent = "Test zip files";
		String fileName = "Test.txt";
        String zipFileName = "toan.zip"
		zipSingleFile(zipFileName, fileName, fileContent);
        
        // zip many files
        String fileContent1 = "Content file 1";
		String fileContent2 = "Content file 2";
		String zipFileName2 = "manyZip.zip";
		zipFiles(zipFileName2, fileContent1, fileContent2);

	}
    
	public static void zipSingleFile(String zipFileName, String fileName, String fileContent) {
		File file = new File(zipFileName);
		try (ZipOutputStream zos = new ZipOutputStream(new FileOutputStream(file))) {
			ZipEntry zipEntry = new ZipEntry(fileName);
			zos.putNextEntry(zipEntry);

			byte[] data = fileContent.getBytes();
			zos.write(data, 0, data.length);
			zos.closeEntry();

		} catch (IOException e) {
			System.out.println("error while zipping file " + zipFileName);
		}
	}

	public static void zipFiles(String zipFileName, String fileContent1, String fileContent2) {
		File file = new File(zipFileName);
		try (ZipOutputStream zos = new ZipOutputStream(new FileOutputStream(file), StandardCharsets.UTF_8)) {
			zipFileEntry("file1.txt", fileContent1, zos);
			zipFileEntry("file2.txt", fileContent2, zos);
		} catch (IOException e) {
			System.out.println("error while zipping file " + zipFileName);
		}
	}

	public static void zipFileEntry(String fileName, String fileContent, ZipOutputStream zos)
			throws IOException {
		ZipEntry zipEntry = new ZipEntry(fileName);
		zos.putNextEntry(zipEntry);

		byte[] data = fileContent.getBytes("UTF-8");
		zos.write(data, 0, data.length);
		zos.closeEntry();
	}

}


Không có nhận xét nào:

Đăng nhận xét