بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته
في هذا المثال سنوضح كيفية ضغط الملفات بصيغة ZIP باستخدام الجافا .
حتى نقوم بتطبيق هذا المثال يجب ان نقوم بتطبيق الخطوات التالية :
1- إنشاء كائن من FileOutputStream , لاستخدامه في الكتابة على الملف المراد ضغطه .
2- إنشاء كائن من ZipOutputStream , لاستخدامه في فلترة الملفات المراد ضغطها .
3- إنشاء كائن من File .
* لكل ملف نريد اضافته الى الملف المضغوط , نقوم بإنشاء كائن من FileInputStream حتى تتم القراءة من الملف , وانشاء كائن من ZipEntry حتى يقوم بكتابة محتوى الملفات الى الملف المخرج (ZIP) .
في هذا المثال
يقوم البرنامج بقراءة الملف Ubuntu.ico ومن ثم ضغطه وتخزينه باسم ملف جديد وهو mynewfile.zip
يقوم البرنامج بقراءة الملف Ubuntu.ico ومن ثم ضغطه وتخزينه باسم ملف جديد وهو mynewfile.zip
package test;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
public class Test
{
public static void main( String[] args )
{
byte [] buf=new byte[1024];
try{
FileOutputStream fos=new FileOutputStream("e:\\mynewfile.zip");
ZipOutputStream zoss=new ZipOutputStream(fos);
ZipEntry zi=new ZipEntry("Ubuntu.ico");// هنا يجب كتابة اسم الملف
zoss.putNextEntry(zi);
FileInputStream fis=new FileInputStream("e:\\Ubuntu.ico");
int len;
while((len=fis.read(buf))>0)
{
zoss.write(buf,0,len);
}
fis.close();
zoss.closeEntry();
zoss.close();
System.out.println("Done");
}catch(Exception e)
{
e.printStackTrace();
}
}
}
http://java3r.blogspot.com/2014/01/zip-1-fileoutputstream.html