تصف هذه المقالة فئة أداة تحميل الملف وتنزيلها التي تم تنفيذها بواسطة Java. شاركه للرجوع إليه ، على النحو التالي:
هذه فئة أدوات تستخدم لغة Java لتحميل وتنزيل الملفات في بيئة Eclipse. مثل C# تحميل ملفات ملف وتنزيل فئة الأدوات التي تم تقديمها من قبل ، من أجل تجنب تكرار أسماء الملفات في الخادم ، يتم استخدام اسم الملف الموجود على الخادم في نموذج "وقت الخادم (محدد إلى milliseconds) + اسم الملف + File File" ؛ أثناء عملية التنزيل ، يتم استخدام SPRING MVC Responseentity لتنزيل الملفات ، والذي يعيد دفق بايت. بعد نجاح التنزيل ، يمكن تخصيص مسار حفظ الملف.
رمز المصدر المحدد هو كما يلي:
package com.utils ؛ import java.io.file ؛ import java.io.ioException ؛ import java.io.inputstream ؛ import java.io.unsupportedencodingexception ؛ import java.text.simpledateformat ؛ import java.util.date org.springframework.http.httpheaders ؛ استيراد org.springframework.http.httpstatus ؛ استيراد org.springframework.http.mediAtype ؛ /*** تحديد الدليل وفقًا للمسار. إذا لم يكن هناك دليل ، قم بإنشاء دليل * * param path */ private static void createir (string path) {file filedir = new file (path) ؛ if (! filedir.exists () &&! filedir.isdirectory ()) {// حدد ما إذا كان دليل/تنزيل قد تم filedir.mkdir () ؛ // إنشاء دليل}/*** parse اسم الملف في مسار التحميل** param filedam* @return اسم التحميل المُحمل إلى الخادم المسبق (string planke transpath) creatiR (المسار) ؛ تاريخ تاريخ = تاريخ جديد () ؛ SimpledAteFormat DateFormat = جديد SimpleDateFormat ("YyyyMMDDHHMMSSSSSS") ؛ // تعريف إلى سلسلة milliseconds nowstr = dateformat.format (التاريخ) ؛ السلسلة fileNamestr = filename.substring (0 ، filename.lastindexof (".")) ؛ // قم بإزالة اسم ملف لاحقة سلسلة اللاحقة = fileName.subString (filename.lastindexof (".") + 1) ؛ الملف غير موجود path + = "//" + fileNamester + Nowstr + ".". + لاحقة ؛ // تحديد مسار التحميل} مسار الإرجاع ؛ }/ ** * ذكر تنزيل الملف * * param filename * param path * @REGRANT */ public static receptionentity <byte []> downloadFile (string fileName ، string path) {try {fileName = new string (filename.getbytes ("gb2312") (UnsupportedEncodingException E1) {e1.printstacktrace () ؛ } ملف الملف = ملف جديد (path) ؛ Httpheaders رؤوس = httpheaders جديدة () ؛ headers.setContentType (mediaType.application_octet_stream) ؛ headers.setContentDispositionFormData ("المرفق" ، اسم الملف) ؛ استجابة <byte []> bytearr = null ؛ حاول {bytearr = استجابة جديدة <byte []> (fileUtils.ReadFiLetObyTearray (ملف) ، رؤوس ، httpstatus.ok) ؛ } catch (ioException e) {E.PrintStackTrace () ؛ } إرجاع bytearr ؛ } / ** * اكتب البيانات من دفق الإدخال إلى صفيف بايت * * param في * regurn * / public static byte [] inputStream2ByTearRay (inputStream in ، boolean isClose) {byte [] bytearray = null ؛ حاول {int total = in.available () ؛ bytearray = بايت جديد [إجمالي] ؛ in.read (bytearray) ؛ } catch (ioException e) {E.PrintStackTrace () ؛ } أخيرًا {if (isClose) {try {in.close () ؛ } catch (استثناء e2) {system.out.println ("FAIL Close churn") ؛ }}} إرجاع bytearray ؛ }}لمزيد من المعلومات حول خوارزميات Java ، يمكن للقراء المهتمين بهذا الموقع عرض المواضيع: "ملخص ملفات Java ومهارات تشغيل الدليل" ، "Tutorial on Java Data Hrustures and Algorithms" ، "ملخص لمهارات Java Operation DOM" و "ملخص مهارات تشغيل Java Cache".
آمل أن يكون هذا المقال مفيدًا لبرمجة Java للجميع.