การใช้งานการบีบอัดและการบีบอัดรูปแบบการบีบอัดซิปผ่าน Java API
การคัดลอกรหัสมีดังนี้:
แพ็คเกจ com.hongyuan.test;
นำเข้า Java.io.File;
นำเข้า Java.io.FileInputStream;
นำเข้า Java.io.FileOutputStream;
นำเข้า java.io.ioException;
นำเข้า Java.io.InputStream;
นำเข้า Java.io.OutputStream;
นำเข้า Java.util.enumeration;
นำเข้า java.util.zip.zipentry;
นำเข้า java.util.zip.zipfile;
นำเข้า java.util.zip.zipoutputStream;
คลาสสาธารณะ ziptest {
โมฆะคงที่สาธารณะหลัก (String [] args) พ่น IOException {
unzip ("bootstrap.zip");
zip ("bootstrap_01.zip", "bootstrap/css/bootstrap.css", "bootstrap/css/bootstrap.min.css");
-
โมฆะคงที่สาธารณะ unzip (ชื่อไฟล์สตริง) พ่น IOException {
// รับวัตถุไฟล์บีบอัด
zipfile zf = zipfile ใหม่ (ชื่อไฟล์);
// ถ่ายโอนรายการไฟล์
การแจงนับ <?
ในขณะที่ (items.hasmoreElements ()) {
zipentry item = items.nextelement ();
String filePath = zf.getName (). Substring (0,
zf.getName (). LastIndexof (".")))
+ file.Sparator + item.getName ();
ไฟล์ filedir = ไฟล์ใหม่ (filepath.substring (0,
filepath.astIndexof ("/"));
if (! filedir.exists ()) {
filedir.mkdirs ();
-
// อ่านไฟล์จากสตรีม
outputStream out = new fileOutputStream (filePath);
inputStream ใน = zf.getInputStream (รายการ);
ไบต์ [] temp = ไบต์ใหม่ [1024];
int len = 0;
ในขณะที่ ((len = in.read (temp))> 0) {
out.write (temp, 0, len);
-
in.close ();
out.close ();
-
zf.close ();
-
void zip เป็นโมฆะสาธารณะ (ชื่อไฟล์สตริง, สตริง ... ไฟล์) พ่น ioexception {
// สร้างสตรีมเอาต์พุตไฟล์บีบอัด
zipoutputStream zos = new ZipOutputStream (ใหม่ fileOutputStream (ชื่อไฟล์));
สำหรับ (int i = 0, size = files.length; i <size; i ++) {
// สร้างเอนทิตีบีบอัด
zipentry entry = new Zipentry (ไฟล์ [i] .substring (ไฟล์ [i] .lastindexof ("/")+1));
zos.putnextentry (รายการ);
// เนื้อหาไฟล์เอาต์พุตลงในสตรีมบีบอัด
InputStream คือ = ใหม่ FileInputStream (ไฟล์ [i]);
จำนวน int = 0;
ไบต์ [] บัฟเฟอร์ = ไบต์ใหม่ [1024];
ในขณะที่ ((count = is.read (บัฟเฟอร์))> = 0) {
zos.write (บัฟเฟอร์, 0, นับ);
-
zos.flush ();
zos.closeentry ();
is.close ();
-
-
-