1. Laden Sie den Client -Code herunter
Paket Javadownload; importieren java.io.BytearrayoutputStream; Import Java.io.file; importieren java.io.fileoutputStream; importieren java.io.inputstream; importieren java.net.httpurlConnection; importieren java.net.url; /** * @Description Export Virtual Machine * @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! String Dateiname = "ygserver"; writeImagetodisk (btimg, Dateiname); } else {system.out.println ("kein Inhalt aus dieser Verbindung erhalten"); }}/*** Schreiben Sie VM auf Festplatte* @param VM Data Stream* @param Dateiname Name der Datei beim Speichern*/public static void schriftstellig (byte [] vm, String -Dateiname) {try {Datei -Datei = neue Datei ("./" + Filename); FileOutputStream fops = new FileOutputStream (Datei); fops.write (vm); fops.flush (); fops.close (); System.out.println ("komplett herunterladen"); } catch (Ausnahme e) {e.printstacktrace (); }} / *** Daten aus der Adresse abrufen HttpurlConnection conn = (httpurlConnection) url.openconnection (); Conn.SetRequestMethod ("get"); Conn.SetConnectTimeout (5 * 1000); InputStream Instream = Conn.GetInputStream (); // Daten über Eingabestream -Byte [] btimg = readInputStream (Instrom); // Die erhaltenen Binärdaten rendite BTIMG; } catch (Ausnahme e) {e.printstacktrace (); } return null; } / *** Daten aus dem Eingabestream abrufen* @param Instream Eingabestream* @return* @throws Exception* / public static byte [] readInputStream (inputStream) löst eine Ausnahme aus {bytearrayoutputStream outstream = new bytearrayoutputStream (); byte [] buffer = neues byte [1024]; int len = 0; while ((len = instrenm.read (puffer))! = -1) {outstream.write (puffer, 0, len); } instrenm.close (); Rückkehr überstream.tobytearray (); }}Der obige Code eignet sich nur zum Herunterladen kleiner Dateien. Wenn Sie eine große Datei herunterladen, eine Ausnahme im Thread "Haupt" java.lang.outofMemoryError: Java Heap Space -Fehler. Wenn Sie also den obigen Code beim Herunterladen einer großen Datei ändern müssen, ist der Code wie folgt:
Paket Javadownload; importieren java.io.BytearrayoutputStream; Import Java.io.file; importieren java.io.fileoutputStream; importieren java.io.inputstream; importieren java.net.httpurlConnection; importieren java.net.url; /** * @Description Export Virtual Machine * @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:8080808080808080808080800000. String Dateiname = "yserver"; GetVMFromNetByurl (URL, Dateiname); } / *** Die Datei basierend auf der Adresse* @param Streurl -Netzwerkverbindungsadresse herunterladen* @param Dateiname Speichername der Download -Datei* / public static void GetVMfromNetByUrl (String StRURL, String -Dateiname) {try {url url = new URL (STRURL); HttpurlConnection conn = (httpurlConnection) url.openconnection (); Conn.SetRequestMethod ("get"); Conn.SetConnectTimeout (5 * 1000); InputStream instream = conn.getInputStream (); // Daten über Eingabestream -Byte [] Buffer = New Byte [4096] abrufen; int len = 0; Datei Datei = neue Datei ("./" + Dateiname); FileOutputStream fops = new FileOutputStream (Datei); while ((len = instream.read (puffer))! = -1) {fops.write (buffer, 0, len); } fops.flush (); fops.close (); } catch (Ausnahme e) {e.printstacktrace (); }}}2. Laden Sie den Datei -Client hoch:
Paket Javadownload; importieren java.io.datainputstream; importieren java.io.dataoutputStream; Import Java.io.file; import Java.io.FileInputStream; importieren java.io.ioException; importieren java.io.outputstream; importieren java.net.httpurlConnection; importieren java.net.url; public class FileUpload { / ** * Anforderung senden * * @param url * Anforderungsadresse * @param filepath * Die Datei wird auf dem Server gespeichert (hier wird zur Bequemlichkeit des Tests geschrieben. if (! file.exists () ||! file.isfile ()) {return -1; } / *** Teil 1* / url urlobj = new URL (URL); HttpurlConnection con = (httpurlConnection) urlobj.openconnection (); / ** * Schlüsseldwert einstellen */ con.setRequestMethod ("post"); // das Formular im Post -Modus einreichen, standardmäßig GET -Methode con.setDoInput (true); con.setDooutput (true); con.setusecaches (falsch); // Post -Modus kann Cache nicht verwenden // Anfrage Header Information Con.SetRequestProperty ("Verbindung", "Close") verwenden; // Keep-alive con.setRequestProperty ("charset", "utf-8"); // Grenzstring-String boundary = "------------" + system.currentTimemillis (); con.setRequestProperty ("Content-Typ", "Multipart/Form-Data; bloße =" + bandary); // Körperinformationen anfordern // Teil 1: StringBuilder sb = new StringBuilder (); sb.append ("-"); // ///////////////// .////////////// .////////////// .///////////. ////////////////////////. .//////////////////////.. ///////////////////////////////////////////////////////////////////////////////////////////////////Content-Disposition: Form-Data; name =/"Datei_Name/; Dateiname =/" " + file.getName () +"/"/"/r/n "); sb.toString () ((Bytes = in.read (Bufferout)! out.close (); con.getInputStream ()); statische void main (string [] args) löst ioException {FileUpload = new FileUpload ().Zusammenfassen
Das obige ist der Beispielcode zum Herunterladen des Datei -Clients und zum Hochladen von Datei -Client unter Java, das vom Editor eingeführt wurde. Ich hoffe, es wird für alle hilfreich sein. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Editor wird allen rechtzeitig antworten. Vielen Dank für Ihre Unterstützung auf der Wulin.com -Website!