فشرده سازی فایل در جاوا
سلام دوستان در این سری از آموزش برنامه نویسی جاوا به آموزش فشرده سازی فایل در جاوا می پردازیم در این آموزش ما از فرمت GZIP به منظور فشرده سازی استفاده می کنیم و برای فایل هایی که متن بیشتری داشته باشند فشرده سازی بیشتری نیز انجام خواهد داد در ادامه با ما همراه باشید تا نحوه فشرده سازی فایل در جاوا را یاد گیرید.
یک کلاس به نام GZipExample ایجاد کنید و کدهای زیر را در آن قرار دهید (ساخت این کلاس اجباری نیست ولی کدها در آن قرا می گیرد)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.util.zip.GZIPOutputStream; public class GZipExample { public static void main( String[] args ) { GZipExample zipObj = new GZipExample(); zipObj.gzipMyFile(); } public void gzipMyFile(){ byte[] buffer = new byte[1024]; try{ GZIPOutputStream gos = new GZIPOutputStream(new FileOutputStream("B://Java/Myfile.gz")); FileInputStream fis = new FileInputStream("B://Java/Myfile.txt"); int length; while ((length = fis.read(buffer)) > 0) { gos.write(buffer, 0, length); } fis.close(); gos.finish(); gos.close(); System.out.println("File Compressed!!"); }catch(IOException ioe){ ioe.printStackTrace(); } } } |
ابتدا یک Instance از کلاس GZIPOutputStream ایجاد کردیم و مسیر فایلی که می خواهیم در خروجی فشرده شده آن را دریافت کنیم به Constructor آن فرستادیم در بالا شما باید آدرس ها را تغییر دهید بعد از اینکار یک Instance از FileInputStream ایجاد می کنیم و مسیر فایلی که می خواهیم فشرده شود را به آن میدهیم سپس فایل را می خوانیم و سپس آن را می نویسیم. (آدرس ها را باید تغییر دهید !)
در نهایت فایل و gzip را می بندیم بخش مهم کد بستن و gzip و FileInputStream است درصورتی که این کلاس ها باز رها شوند برنامه با خطا مواجه خواهد شد.
خروجی کد بالا همانند زیر خواهد بود.
1 | File Compressed!! |
در بالا ار try , catch استفاده کردیم تا در صورتی که خطای از پیش تعریف نشده ای پیش آید برنامه بیرون نیایید بلکه با چاپ خطای منطقی برنامه نویس را از علت خطا مطلع کند.
این آموزش هم به پایان رسید.
موفق و موید باشید.