Java - ضغط الملفات بتنسيق ZIP
نمط java.util.zip< / span >< / b > طريقة ضغط Zip من خطوتين:قراءة الملف مع نمط FileInputStream.
أضف اسم الملف إلى نمط ZipEntry< / span> واحفظه كإخراج باستخدام نمط ZipOutputStream.
البرنامج التالي يقرأ الملف "c:\\FIchier0410.log" ويضغطه في "c:\\monFichier.zip".
package com.codeurjava.File;
import java.io.FileInputStream ؛
import java.io.FileOutputStream;
import java.io.IOException;
استيراد java.util.zip.ZipEntry ؛
استيراد java.util.zip.ZipOutputStream ؛
ملف مضغوط للفئة العامة {
الفراغ العام الثابت الرئيسي (سلسلة [] args) {
النهائي int BUFFER = 2048 ؛
try {
بايت buffer [] = بايت جديد [BUFFER] ؛
fileOutputStream fileos = FileOutputStream الجديد ("C:\\monFichier.zip");
ZipOutputStream zipos = ZipOutputStream الجديد (fileos) ؛
ZipEntry zipentry = ZipEntry الجديد ("c: \\ Fichier0410.log") ؛
zipos.putNextEntry (zipentry);
FileInputStream in = FileInputStream الجديد ("c: \\ Fichier0410.log") ؛
int lec;
بينما ((lec = in.read (buffer)) > 0) {
zipos.write (buffer ، 0 ، lec) ؛
}
in.close();
zipos.closeEntry();
zipos.close();
System.out.println ("تم إنشاء ملف مضغوط!");
}catch(IOException ex){
ex.printStackTrace();
}
}
}
< / pre>وقت التشغيل:
< pre class = "prettyprint lang-java" >تم إنشاء ملف مضغوط!
< / pre>ضغط ملفات متعددة من مجلد بشكل متكرر
قراءة كافة الملفات والمجلدات الفرعية ل "c:\\ اختبار" وضغطها في "C: \\ monFichier.zip". يقوم هذا البرنامج بضغط الدلائل بشكل متكرر .package com.codeurjava.File;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
استيراد java.util.zip.ZipEntry ؛
استيراد java.util.zip.ZipOutputStream ؛
ملف مضغوط للفئة العامة {
السلسلة الثابتة النهائية dossier_src = "c: \\ test" ؛
السلسلة الثابتة النهائية fichier_zip_desc = "monFichier.zip" ؛ <قائمة ثابتة / >< سلسلة> قائمة <سلسلة> ؛
الفراغ الثابت العام الرئيسي (سلسلة [] args) {
النهائي int BUFFER = 2048 ؛
عقدة الملف = ملف جديد (dossier_src);
list = ArrayList() الجديدة ؛ < br / > قائمة الملفات (العقدة) ؛
try {
بايت buffer [] = بايت جديد [BUFFER] ؛
ملف FileOutputStream = جديد FileOutputStream (fichier_zip_desc) ؛
ZipOutputStream zipos = ZipOutputStream الجديد (fileos) ؛
ل (ملف السلسلة: قائمة) {
ZipEntry zipentry = ZipEntry جديد (ملف) ؛
zipos.putNextEntry (zipentry);
FileInputStream في =
FileInputStream الجديد (dossier_src + File.separator + ملف) ؛
int lec ؛
بينما ((lec = in.read (buffer)) > 0) {
zipos.write (buffer ، 0 ، lec) ؛
}
in.close();
System.out.println ("+file+" تمت إضافة الملف")؛
}
zipos.closeEntry();
zipos.close();
System.out.println ("تم إنشاء ملف مضغوط!");
}catch(IOException ex){
ex.printStackTrace();
}
}
قائمة ثابتة عامة <سلسلة > filenode {
//add files
if (node.isFile()){
String file = node.getAbsoluteFile().toString();
مسار السلسلة = file.substring (dossier_src.length () + 1 ، file.length ()) ؛
list.add (path) ؛
}
if(node.isDirectory()){
String[] subFile = node.list();
ل (اسم ملف السلسلة: ملف فرعي) {
filelist (ملف جديد (عقدة ، اسم الملف)) ؛
}
}
قائمة الإرجاع ؛
}
}
< / string >< / string >< / string >< / pre>< / div>وقت التشغيل:تمت إضافة ملف img_01.jpg
ملف pdf \ java.pdf تمت إضافته
table.sql تمت إضافة الملف
ملف Word \ الدورة التدريبية java.docx تمت إضافته
تم إنشاء ملف مضغوط!
الموارد: