1. قم بتنزيل رمز العميل
حزمة Javadownload. استيراد java.io.bytearrayoutputstream ؛ استيراد java.io.file ؛ استيراد java.io.fileOutputStream ؛ استيراد java.io.inputstream ؛ استيراد java.net.httpurlconnection ؛ استيراد java.net.url ؛ /** * description تصدير الجهاز الظاهري * Author wxt * version 1.0 * since */public class getvm {/** * test * param args */public static void main (string [] args) {String url = "http://192.168.5.102:8845/xx" ؛ byte [] btimg = getVmfromNetByurl (url) ؛ if (null! = btimg && btimg.length> 0) {system.out.println ("read to:" + btimg.length + "byte") ؛ سلسلة filename = "ygserver" ؛ WriteImageTodisk (BTIMG ، اسم الملف) ؛ } آخر {system.out.println ("لا يوجد محتوى تم الحصول عليه من هذا الاتصال") ؛ }}/*** اكتب VM إلى Disk* Param VM Date Dream* param اسم الملف للملف عند حفظ*/public static void writeimagetodisk (byte [] vm ، string filename) {try {file file = new file ("./" + filename) ؛ FileOutputStream fops = fileOutputStream (ملف جديد) ؛ fops.write (VM) ؛ fops.flush () ؛ fops.close () ؛ System.out.println ("Download Complete") ؛ } catch (استثناء e) {E.PrintStackTrace () ؛ }} / *** احصل على بيانات من العنوان* param Strurl Network Connection العنوان* regurn* / public static byte [] getVmFromNetByurl (String strurl) {try {url url = new url (strurl) ؛ httpurlConnection conn = (httpurlConnection) url.openconnection () ؛ Conn.SetRequestMethod ("get") ؛ Conn.SetConnectTimeOut (5 * 1000) ؛ inputStream instream = conn.getInputStream () ؛ // الحصول على البيانات من خلال دفق الإدخال بايت [] btimg = readInputStream (instream) ؛ // البيانات الثنائية التي تم الحصول عليها btimg ؛ } catch (استثناء e) {E.PrintStackTrace () ؛ } إرجاع فارغ ؛ } / *** احصل على بيانات من دفق الإدخال* param instream دفق* regurn* @throws استثناء* / بايت ثابت عام [] readInputStream (inputStream instream) يلقي استثناء {bytearrayoutputstream outstream = new BytearRayoutPutStream () ؛ Byte [] Buffer = New Byte [1024] ؛ int len = 0 ؛ بينما ((len = instream.read (buffer))! = -1) {OutStream.write (buffer ، 0 ، len) ؛ } instream.close () ؛ إرجاع OutStream.TobyTearray () ؛ }}الرمز أعلاه مناسب فقط لتنزيل الملفات الصغيرة. إذا قمت بتنزيل ملف كبير ، استثناء في موضوع "Main" java.lang.outofmemoryerror: خطأ في مساحة الكومة Java ، لذلك إذا كنت بحاجة إلى تعديل الرمز أعلاه عند تنزيل ملف كبير ، فإن الرمز هو كما يلي:
حزمة Javadownload. استيراد java.io.bytearrayoutputstream ؛ استيراد java.io.file ؛ استيراد java.io.fileOutputStream ؛ استيراد java.io.inputstream ؛ استيراد java.net.httpurlconnection ؛ استيراد java.net.url ؛ /** * description تصدير الجهاز الظاهري * Author wxt * version 1.0 * since */public class getBigfile {/** * test * param args */public static void main (string [] args) {String url = "http://192.168.5.76:8080/export؟ اسم ملف السلسلة = "yserver" ؛ getVmFromNetByurl (url ، اسم الملف) ؛ } / *** تنزيل ملف استنادًا إلى العنوان* param strurl شبكة اتصال الشبكة* param اسم filename اسم ملف التنزيل* / public static void getvmfromnetbyurl (String strurl ، string filename) {try {url url = url new url (strurl) ؛ httpurlConnection conn = (httpurlConnection) url.openconnection () ؛ Conn.SetRequestMethod ("get") ؛ Conn.SetConnectTimeOut (5 * 1000) ؛ inputStream instream = conn.getInputStream () ؛ // الحصول على البيانات من خلال دفق الإدخال بايت [] buffer = new byte [4096] ؛ int len = 0 ؛ ملف الملف = ملف جديد ("./" + اسم الملف) ؛ FileOutputStream fops = fileOutputStream (ملف جديد) ؛ بينما ((len = instream.read (buffer))! = -1) {fops.write (buffer ، 0 ، len) ؛ } fops.flush () ؛ fops.close () ؛ } catch (استثناء e) {E.PrintStackTrace () ؛ }}}2. تحميل عميل الملف:
حزمة Javadownload. استيراد java.io.datainputStream ؛ استيراد java.io.dataOutputStream ؛ استيراد java.io.file ؛ استيراد java.io.fileInputStream ؛ استيراد java.io.ioException ؛ استيراد java.io.outputStream ؛ استيراد java.net.httpurlconnection ؛ استيراد java.net.url ؛ الفئة العامة fileupload { / ** * إرسال طلب * * param url * عنوان الطلب * param filepath * يتم حفظ الملف على الخادم (هنا مكتوب لراحة الاختبار ، يمكنك إزالة هذا المعلمة) * regurn * throws ioexception * / public int send ، string filepath) throws ioexpice {file file = filpath) ؛ if (! file.exists () ||! file.isfile ()) {return -1 ؛ } / *** الجزء 1* / url urlobj = url جديد (url) ؛ httpurlConnection con = (httpurlConnection) urlobj.openconnection () ؛ / ** * تعيين قيمة المفتاح */ con.setRequestMethod ("post") ؛ // إرسال النموذج في وضع post ، الافتراضي الحصول على الطريقة con.setDoInput (true) ؛ consetDooutput (صواب) ؛ consetuseCaches (false) ؛ // لا يمكن وضع Post Mode استخدام Cache // تعيين معلومات الطلب Con.SetRequestProperty ("Connection" ، "Close") ؛ // keep-alive con.setRequestProperty ("charset" ، "UTF-8") ؛ // تعيين حدود سلسلة الحدود = "------------" + system.currentTimeMillis () ؛ Con.SetRequestProperty ("نوع المحتوى" ، "multipart/form-data ؛ boundary =" + boundary) ؛ // طلب معلومات الجسم // الجزء 1: StringBuilder SB = جديد StringBuilder () ؛ sb.append ("-") ؛ // /////////////////////////////////////////////////////////// ) ) form-data ؛ name =/"file_name/؛ filename =/" " + file.getName () +"/"/"/n ") ؛ sb.append (" content-type: application/actet-stream/r/n/n ") ؛ sb.append (" connect: close/r/n/n ") ؛ SB.ToString () (bytes = in.Read (bufferout)! = -1) {out.write ، 0 ، bytes) ؛ out.close () ؛ Con.getInputSream ()) ؛ static void main (args) arms IoException {fileupload = new FileUpload () ؛لخص
ما سبق هو رمز المثال لتنزيل عميل الملف وتحميل عميل الملف ضمن Java الذي تم تقديمه بواسطة المحرر. آمل أن يكون ذلك مفيدًا للجميع. إذا كان لديك أي أسئلة ، فيرجى ترك رسالة لي وسوف يرد المحرر على الجميع في الوقت المناسب. شكرا جزيلا لدعمكم لموقع wulin.com!