1. Загрузите клиент -код
Пакет Javadownload; импортировать java.io.bytearrayoutputstream; Импорт java.io.file; Импорт java.io.fileOutputStream; импортировать java.io.inputstream; Импорт java.net.httpurlConnection; импортировать java.net.url; /** * @description export virtual machine * @author wxt * @version 1.0 * @since */public class getvm {/** * test * @param args */public void main (string [] args) {string url = "http://192.168.502:8845/xx"; byte [] btimg = getvmfromnetbyurl (url); if (null! = btimg && btimg.length> 0) {System.out.println ("Читать в:" + btimg.length + "byte"); String fileName = "ygserver"; writeImageToDisk (btimg, имя файла); } else {System.out.println ("Нет контента, полученного из этого соединения"); }}/*** Напишите VM на диск* @param vm Stream Data* @param Имя файла файла при сохранении*/public static void writeimagetodisk (byte [] vm, string filename) {try {file file = new file ("./" + filename); FileOutputStream fops = new FileOutputStream (file); fops.write (vm); fops.flush (); fops.close (); System.out.println ("Загрузить заполнение"); } catch (Exception e) {e.printstackTrace (); }} / *** Получить данные из адреса* @param strurl сетевой подключение* @return* / public static byte [] getVmfromnetbyurl (string strurl) {try {url url = new url (strurl); Httpurlconnection conn = (httpurlconnection) url.openconcenection (); conn.setrequestmethod ("Get"); conn.setConnecttimeout (5 * 1000); Inputstream instriam = conn.getInputStream (); // Получить данные через входной поток byte [] btimg = readInputStream (instream); // полученные двоичные данные возвращают BTIMG; } catch (Exception e) {e.printstackTrace (); } return null; } / *** Получить данные из входного потока* @param instream входной поток* @return* @throhs Exception* / public Static Byte [] readInputStream (inputStream inStream) THRES Exception {ByteArRayOutputStream upstream = new BytearRayOutputStream (); Byte [] buffer = новый байт [1024]; int len = 0; while ((len = instream.read (buffer))! = -1) {outstream.write (буфер, 0, len); } instream.close (); вернуть upstream.tobytearray (); }}Приведенный выше код подходит только для загрузки небольших файлов. Если вы загружаете большой файл, исключение в потоке "Main" java.lang.outofmemoryerror: ошибка пробела на java Heap, поэтому, если вам нужно изменить приведенный выше код при загрузке большого файла, код следующим образом:
Пакет Javadownload; импортировать java.io.bytearrayoutputstream; Импорт java.io.file; Импорт java.io.fileOutputStream; импортировать java.io.inputstream; Импорт java.net.httpurlConnection; импортировать java.net.url; /** * @descript export Virtual Machine * @author wxt * @version 1.0 * @since */public class getbigfile {/** * test * @param args */public void main (string [] args) {string url = "http://192.168.5.76:8080/export?uuid String fileName = "yserver"; getVmfromnetbyurl (url, имя файла); } / *** Загрузить файл на основе адреса* @param strurl Network Connection Adder* @param Имя хранилища файла загрузки* / public static void getVmfromnetbyurl (string strurl, string filename) {try {url url = new Url (strurl); Httpurlconnection conn = (httpurlconnection) url.openconcenection (); conn.setrequestmethod ("Get"); conn.setConnecttimeout (5 * 1000); Inputstream instriam = conn.getInputStream (); // Получить данные через Byte входного потока [] buffer = new Byte [4096]; int len = 0; File file = new File ("./" + filename); FileOutputStream fops = new FileOutputStream (file); while ((len = instream.read (buffer))! = -1) {fops.write (buffer, 0, len); } fops.flush (); fops.close (); } catch (Exception 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 * файл сохраняется на сервере (здесь написан для удобства тестирования, вы можете удалить этот параметр) * @return * @throws ioexception * / public int send (string url, string filepath) throweexception {file file = file file (filepath); if (! file.exists () ||! file.isfile ()) {return -1; } / *** Часть 1* / url urlobj = new URL (url); Httpurlconnection con = (httpurlconnection) urlobj.openconcen (); / ** * Установить значение ключа */ con.setrequestmethod ("post"); // отправить форму в режиме сообщения, метод получения по умолчанию con.setDoinput (true); con.setDoOutput (true); con.setusecaches (false); // режим публикации не может использовать Cache // Установить информацию заголовка запроса con.setrequestproperty («connection», «close»); // Keep-Alive con.setRequestProperty ("charset", "UTF-8"); // Установить граничную строку границы = "------------" + system.currenttimemillis (); con.setRequestProperty ("Content-Type", "Multipart/Form-Data; Brandary =" + Boundary); // Запрос информации о корпусе // Часть 1: StringBuilder sb = new StringBuilder (); SB.Append ("-"); // //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////////////Content-Disposition: Form-data; name =/"file_name/; filename =/" " + file.getName () +"/"/"/r/n "); sb.append (" content-type: приложение/octet-stream/r/n/r/n "); sb.append (" connection: close/r/r/n "); SB.ToString (). GetBytes ("UTF-8"); (Bytes = in.read (Bufferout))! = -1) {out.write (Bufferout, 0, Bytes); out.close (); Строка = null; IOException {fileUpload = new FileUpload ();Суммировать
Выше приведен пример кода для загрузки файлового клиента и загрузки файлового клиента под Java, введенной редактором. Я надеюсь, что это будет полезно для всех. Если у вас есть какие -либо вопросы, пожалуйста, оставьте мне сообщение, и редактор ответит всем вовремя. Большое спасибо за вашу поддержку сайту wulin.com!