1. Unduh kode klien
paket javadownload; impor java.io.bytearrayoutputStream; impor java.io.file; impor java.io.fileoutputStream; impor java.io.inputstream; impor java.net.httpurlconnection; impor java.net.url; /** * @Description Ekspor Mesin Virtual * @Author WXT * @Version 1.0 * @since */kelas publik getVm {/** * test * @param args */public static void main (string [] args) {string url = "http://192.1688.5.102:884/884/884/884/884/884/884.884/884.884.884/192.102.102/102.102.102.102.102.102.102.102.102.102.102.102.102.102.102.102 byte [] btimg = getVmFromNetByUrl (url); if (null! = btimg && btimg.length> 0) {System.out.println ("Baca ke:" + btimg.length + "byte"); String filename = "ygserver"; writeMagetodisk (btimg, nama file); } else {System.out.println ("Tidak ada konten yang diperoleh dari koneksi ini"); }}/*** Tulis vm ke disk* @param vm stream data* @param nama file dari file saat menyimpan*/public static void writeMageTodisk (byte [] vm, string filename) {coba {file file = file baru ("./" + fileName); FileOutputStream fops = FileOutputStream baru (file); fops.write (VM); fops.flush (); fops.close (); System.out.println ("Unduh Lengkap"); } catch (Exception e) {E.PrintStackTrace (); }} / *** Dapatkan data dari alamat* @param Strurl Alamat Koneksi Jaringan* @return* / public static byte [] getVmFromNetByUrl (string strurl) {coba {url url = URL baru (strurl); HttpurlConnection conn = (httpurlconnection) url.openconnection (); Conn.setRequestMethod ("Get"); Conn.SetConnectTimeout (5 * 1000); InputStream instream = conn.getInputStream (); // Dapatkan data melalui byte stream input [] btimg = readInputStream (instream); // data biner yang diperoleh mengembalikan btimg; } catch (Exception e) {E.PrintStackTrace (); } return null; } / *** Dapatkan data dari aliran input* @param instream input stream* @return* @throws Exception* / public static byte [] readInputStream (InputStream) melempar Exception {ByTeArrayOutputStream outstream = new ByteArrayOutputStream (); byte [] buffer = byte baru [1024]; int len = 0; while ((len = instream.read (buffer))! = -1) {outstream.write (buffer, 0, len); } instream.close (); return outstream.tobytearray (); }}Kode di atas hanya cocok untuk mengunduh file kecil. Jika Anda mengunduh file besar, pengecualian di utas "utama" java.lang.outofmemoryError: kesalahan ruang java heap, jadi jika Anda perlu memodifikasi kode di atas saat mengunduh file besar, kode tersebut adalah sebagai berikut:
paket javadownload; impor java.io.bytearrayoutputStream; impor java.io.file; impor java.io.fileoutputStream; impor java.io.inputstream; impor java.net.httpurlconnection; impor java.net.url; /** * @Description Ekspor Mesin Virtual * @Author WXT * @Version 1.0 * @since */kelas publik getBigFile {/** * tes * @param args */public static void main (string [] args) {string url = "http://192.168.5.76:76:76:76:7608080808080808 String filename = "yServer"; getVmFromNetByUrl (url, nama file); } / *** unduh HttpurlConnection conn = (httpurlconnection) url.openconnection (); Conn.setRequestMethod ("Get"); Conn.SetConnectTimeout (5 * 1000); InputStream instream = conn.getInputStream (); // Dapatkan data melalui byte stream input [] buffer = byte baru [4096]; int len = 0; File file = file baru ("./" + fileName); FileOutputStream fops = FileOutputStream baru (file); while ((len = instream.read (buffer))! = -1) {fops.write (buffer, 0, len); } fops.flush (); fops.close (); } catch (Exception e) {E.PrintStackTrace (); }}}2. Unggah klien file:
paket javadownload; impor java.io.datainputstream; impor java.io.dataoutputStream; impor java.io.file; impor java.io.fileInputStream; impor java.io.ioException; impor java.io.outputStream; impor java.net.httpurlconnection; impor java.net.url; Fileupload kelas publik { / ** * Kirim permintaan * * @param url * Alamat permintaan * @param filepath * File disimpan di server (di sini ditulis untuk kenyamanan pengujian, Anda dapat menghapus parameter ini) * @return * @throws ioException * / public int kirim (string url, string filepath) lemparan ioException {file ne baru = FilePATH; FilePath ioException {FileEpe; FilePATH; FilePATH LOMPATH); FilePath IOOEPEKPION {FileEpe; FilePATH LOMEPATHE (FILEPATH LOMPATH); FilePATH IOOEPCEPTION {FilePATH; if (! file.exists () ||! file.isfile ()) {return -1; } / *** Bagian 1* / url urlobj = URL baru (url); HttpurlConnection con = (httpurlconnection) urlobj.openconnection (); / ** * Atur nilai kunci */ con.setRequestMethod ("post"); // Kirim formulir dalam mode pos, default get Method con.setDoInput (true); con.setDoOutput (true); con.setusecaches (false); // mode pos tidak dapat menggunakan cache // atur informasi header permintaan con.setRequestProperty ("connection", "tutup"); // Keep-Alive Con.setRequestProperty ("Charset", "UTF-8"); // atur batas batas batas = "------------" + System.currentTimeMillis (); con.setRequestProperty ("tipe konten", "multipart/form-data; batas =" + batas); // Minta Informasi Tubuh // Bagian 1: StringBuilder SB = New StringBuilder (); SB.Append ("-"); // /////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////////////Content-Disposition: form-data;name=/"file_name/;filename=/"" + file.getName() + "/"/"/r/n"); sb.append("Content-Type:application/octet-stream/r/n/r/n"); sb.append("Connection:close/r/n/r/n"); byte[] head = SB.ToString (). GetBytes ("UTF-8"); (bytes = in.read (bufferout))! = -1) {out.write (bufferout, 0, bytes) out.close ();/*** Baca respons server, itu harus dibaca, jika tidak, pengiriman tidak akan berhasil*/return con.getResponsecode (); con.getInputStream ())); // string line = null; } public static Main (String [] args) melempar IOException {Fileupload UP = FileUpload baru ();Meringkaskan
Di atas adalah contoh kode untuk mengunduh klien file dan mengunggah klien file di bawah java yang diperkenalkan oleh editor. Saya harap ini akan membantu semua orang. Jika Anda memiliki pertanyaan, silakan tinggalkan saya pesan dan editor akan membalas semua orang tepat waktu. Terima kasih banyak atas dukungan Anda ke situs web Wulin.com!