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