يشارك هذا المثال الكود المحدد الذي تم تصديره بواسطة ملفات Java متعددة في حزم ضغط ZIP للرجوع إليها. المحتوى المحدد كما يلي
1. استخدم Java لتنفيذ صورة خادم الشريط في حزمة مضغوطة بتنسيق مضغوط وتصدير ملفات متعددة في الحزمة.
2. الرمز كما يلي:
** imagebyteutil.java **
الفئة العامة ImageByTeutil {جودة العائمة الثابتة الخاصة = 0.6F ؛ public static void cempresszip (قائمة <file> listfiles ، إخراج outputStream ، تشفير السلسلة ، ضغط المنطقية ، الاسم المستعار السلسلة) {zipoutputstream zipstream = null ؛ حاول {zipstream = new zipoutputStream (الإخراج) ؛ لـ (ملف الملف: listfiles) {compresszip (ملف ، zipstream ، ضغط ، الاسم المستعار+"_"+(listfiles.indexof (file) +1)) ؛ }} catch (استثناء e) {E.PrintStackTrace () ؛ } أخيرًا {try {if (zipstream! = null) {zipstream.close () ؛ }} catch (ioException e) {E.PrintStackTrace () ؛ }}} private static void lempresszip (ملف الملف ، zipoutputstream zipstream ، ضغط منطقي ، الاسم المستعار السلسلة) يلقي استثناء {fileInputStream input = null ؛ حاول {input = new FileInputStream (file) ؛ // zip (input ، zipsstream ، file.getName () ، compress) ؛ ZIP (input ، zipstream ، alias+". } catch (استثناء e) {E.PrintStackTrace () ؛ } أخيرًا {try {if (input! = null) input.close () ؛ } catch (ioException e) {E.PrintStackTrace () ؛ }}} zip private static void (إدخال inputStream ، ZipoutputStream zipsstream ، سلسلة zipentryname ، ضغط منطقي) يلقي الاستثناء {byte [] bytes = null ؛ BufferedInputStream BufferStream = NULL ؛ حاول {if (input == null) رمي استثناء جديد ("فشل في الحصول على عناصر بيانات مضغوطة! اسم عنصر البيانات هو:" + zipentryName) ؛ . // الموضع لموضع الإدخال المضغوط وابدأ في كتابة الملف إلى الحزمة المضغوطة zipstream.putnextentry (zipentry) ؛ if (compress) {bytes = imageByTeutil.compressOfFquality (input ، 0) ؛ zipstream.write (بايت ، 0 ، bytes.length) ؛ } آخر {bytes = new byte [1024 * 5] ؛ // قراءة وكتابة bufferstream = جديد bufferedInputStream (input) ؛ // input buffer int read = 0 ؛ بينما ((read = bufferstream.read (bytes))! = -1) {zipstream.write (bytes ، 0 ، read) ؛ }}} catch (ioException e) {E.PrintStackTrace () ؛ } أخيرًا {try {if (null! = bufferstream) bufferstream.close () ؛ } catch (ioException e) {E.PrintStackTrace () ؛ }}} البايت الثابت العام [] pressofquality (ملف الملف ، جودة التعويم) يلقي الاستثناء {byte [] bs = null ؛ إدخال inputStream = فارغ ؛ حاول {input = new FileInputStream (file) ؛ BS = ضغط الجودة (الإدخال ، الجودة) ؛ } catch (استثناء e) {E.PrintStackTrace () ؛ } أخيرًا {try {if (input! = null) input.close () ؛ } catch (ioException e) {E.PrintStackTrace () ؛ }} return bs ؛ } البايت الثابت العام [] ضغط (إدخال inputStream ، جودة التعويم) يلقي الاستثناء {bytearrayoutputStream output = null ؛ حاول {output = new ByTearRayOutputStream () ؛ if (Quality == 0) {thumbnails.of (input) .scale (1f) .outputFulecality (Quality) .ToOutputStream (output) ؛ } آخر {thumbnails.of (input) .scale (1f) .OutputFquality (Quality) .ToOutputStream (output) ؛ } إرجاع الإرجاع .TobyTearRay () ؛ } catch (استثناء e) {E.PrintStackTrace () ؛ } أخيرًا {try {if (output! = null) output.close () ؛ } catch (ioException e) {E.PrintStackTrace () ؛ }} الإرجاع null ؛ }}** main.java **
public static void main (string [] args) {// أضف مجموعة الملفات المراد تصديرها ، أضف الملف الذي تحتاجه لتصدير قائمة <ipl> listFiles = new ArrayList <> () ؛ // استدعاء فئة الأدوات ، وصف المعلمة (مجموعة الملفات التي يجب تصديرها ، كائن bytearrayoutputstream ، الترميز ، سواء لضغط [true ، false] ، prefix prefix) imageByTeutil.compresszip (listfiles ، out ، "utf-8" ، false ، "lwj") ؛ // حدد تنسيق التصدير returncontext.addparam ("exportFilename" ، "extfile.zip") ؛ returnContext.addparam ("Mimetype" ، "zip") ؛ العودة في ؛}3. يتم تنفيذ هذه الوظيفة وفقًا لاحتياجات المشروع أثناء عملية التطوير. يمكن استخدام الاختبار بشكل طبيعي ويمكن تخصيصه.
ما سبق هو كل محتوى هذه المقالة. آمل أن يكون ذلك مفيدًا لتعلم الجميع وآمل أن يدعم الجميع wulin.com أكثر.