فشرده کردن فایل 

برای فشرده سازی توسط این کتابخانه با دو کلاس Compress و Decompress می توانیم فایل را فشرده یا از حالت فشرده خارج کنیم که در فضای نام ZIP قرار دارند.

نکته.فایل هایی که فشره می شوند یا از حالت فشرده خارج می شوند در قالب zip هستند و نمی توان از قالبی دیگر مانند rar استفاده کرد چون این کلاس فقط برای فشرده سازی در قالب zip  است.

ابتدا مثالی را مشاهد نمایید سپس به توضیح کد های می پردازیم:

نتیجه اجرای کد بالا به صورت زیر خواهد بود:

در خط اول ابتدا توسط کلاس Path مسیر فایل مورد نظر را که می خواهیم فشرده کنیم تعیین می کنیم سپس به یک فایل zip  نیاز داریم که فایل فشرده شده را در خود ذخیره کند باید دقت داشته باشید فایل zip  باید در حالت binry باز شود در غیر اینصورت داده های فایل بصورت ناقص ذخیره خواهند شد.

توسط کلاس ofstream یک فایل zip  را معرفی می کنیم که در ورودی کانستراکتور کلاس Compress لازم است کلاس Compress بعد از دریافت فایل zip باید چگونگی نوشتن در فایل zip را تعیین کنیم که با دومقدار true  و false اینکار را انجام می دهیم مرحله بعدی برای فشرده سازی اضافه کردن فایل است که توسط تابع addFile صورت می گیرد ورودی اول مسیر فایل که از قبل ایجاد کردیم و ورودی دوم نام فایل می باشد در اخر باید با دستور close داده هایی که توسط دو کلاس ofstreamوCompress در حافظه جریان دارند پاک سازی کنیم.

نکته: فایل ها تا %10 در این مورد فشرده خواهند شد اگر حجم فایل زیاد باشد برنامه با توجه به حجم فایل توقف خواهد کرد و تا پایان فشرده سازی عمل دیگری را انجام نخواهد داد.

خارج کردن فایل  از حالت فشرده

برای خارج کردن فایل از حالت فشرده از کلاس Decompress استفاده می کنیم ورودی اول کانستراکتور کلاس Decompress یک فایل zip است که توسط کلاس ifstream ایجاد می شود ورودی دوم مسیر فایل است که یا در همان مسیر فعلی خود می تواند فایل را ایجاد کند یا یک پوشه و در نهایت بعد از تنظیم مسیر و فایل با تابع decompressAllFiles از کلاس Decompress فایل را از حالت فشرده خارج می کنیم.

مثال :

نکته: اگر حجم فایل زیاد باشد مدت زمان خارج کردن فایل از حالت فشره به طول می انجامد و تا پایان این فرایند عمل دیگری صورت نمی گیرد.