亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > Java > 正文

Java下http下載文件客戶端和上傳文件客戶端實例代碼

2024-07-13 10:13:23
字體:
來源:轉載
供稿:網友

一、下載客戶端代碼

package javadownload; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileOutputStream; import java.io.InputStream; import java.net.HttpURLConnection; import java.net.URL; /**  * @說明 導出虛擬機  * @author wxt  * @version 1.0  * @since  */ public class GetVM {   /**    * 測試    * @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("讀取到:" + btImg.length + " 字節");       String fileName = "ygserver";       writeImageToDisk(btImg, fileName);     }else{       System.out.println("沒有從該連接獲得內容");     }   }   /**    * 將vm 寫入到磁盤    * @param vm 數據流    * @param fileName 文件保存時的名稱    */   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.openConnection();       conn.setRequestMethod("GET");       conn.setConnectTimeout(5 * 1000);       InputStream inStream = conn.getInputStream();//通過輸入流獲取數據       byte[] btImg = readInputStream(inStream);//得到的二進制數據       return btImg;     } catch (Exception e) {       e.printStackTrace();     }     return null;   }   /**    * 從輸入流中獲取數據    * @param inStream 輸入流    * @return    * @throws Exception    */   public static byte[] readInputStream(InputStream inStream) throws Exception{     ByteArrayOutputStream outStream = new ByteArrayOutputStream();     byte[] buffer = new byte[1024];     int len = 0;     while( (len=inStream.read(buffer)) != -1 ){       outStream.write(buffer, 0, len);     }     inStream.close();     return outStream.toByteArray();   } } 

上述代碼只適合下載小文件,如果下載大文件則會出現  Exception in thread "main" java.lang.OutOfMemoryError: Java heap space 錯誤,所以如果下載大文件需要對上述代碼進行改造,代碼如下:

package javadownload; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileOutputStream; import java.io.InputStream; import java.net.HttpURLConnection; import java.net.URL; /**  * @說明 導出虛擬機  * @author wxt  * @version 1.0  * @since  */ public class GetBigFile {   /**    * 測試    * @param args    */   public static void main(String[] args) {     String url = "http://192.168.5.76:8080/export?uuid=123";     String fileName="yserver";      getVMFromNetByUrl(url,fileName);   }   /**    * 根據地址獲下載文件    * @param strUrl 網絡連接地址    * @param fileName 下載文件的存儲名稱    */   public static void getVMFromNetByUrl(String strUrl,String fileName){     try {       URL url = new URL(strUrl);       HttpURLConnection conn = (HttpURLConnection)url.openConnection();       conn.setRequestMethod("GET");       conn.setConnectTimeout(5 * 1000);       InputStream inStream = 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();     }   } } 

二、上傳文件客戶端:

package javadownload; import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.OutputStream; import java.net.HttpURLConnection; import java.net.URL; public class FileUpload {   /**    * 發送請求    *    * @param url    *      請求地址    * @param filePath    *      文件在服務器保存路徑(這里是為了自己測試方便而寫,可以將該參數去掉)    * @return    * @throws IOException    */   public int send(String url, String filePath) throws IOException {     File file = new File(filePath);     if (!file.exists() || !file.isFile()) {       return -1;     }     /**      * 第一部分      */     URL urlObj = new URL(url);     HttpURLConnection con = (HttpURLConnection) urlObj.openConnection();     /**      * 設置關鍵值      */     con.setRequestMethod("POST"); // 以Post方式提交表單,默認get方式     con.setDoInput(true);     con.setDoOutput(true);     con.setUseCaches(false); // post方式不能使用緩存     // 設置請求頭信息     con.setRequestProperty("Connection", "close");//Keep-Alive     con.setRequestProperty("Charset", "UTF-8");     // 設置邊界     String BOUNDARY = "----------" + System.currentTimeMillis();     con.setRequestProperty("Content-Type", "multipart/form-data; boundary="         + BOUNDARY);     // 請求正文信息     // 第一部分:     StringBuilder sb = new StringBuilder();     sb.append("--"); // ////////必須多兩道線     sb.append(BOUNDARY);     sb.append("/r/n");     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");     // 獲得輸出流     OutputStream out = new DataOutputStream(con.getOutputStream());     out.write(head);     // 文件正文部分     DataInputStream in = new DataInputStream(new FileInputStream(file));     int bytes = 0;     byte[] bufferOut = new byte[1024];     while ((bytes = in.read(bufferOut)) != -1) {       out.write(bufferOut, 0, bytes);     }     in.close();     // 結尾部分     byte[] foot = ("/r/n--" + BOUNDARY + "--/r/n").getBytes("utf-8");// 定義最后數據分隔線     out.write(foot);     out.flush();     out.close();     /**      * 讀取服務器響應,必須讀取,否則提交不成功      */     return con.getResponseCode();     /**      * 下面的方式讀取也是可以的      */     // try {     // // 定義BufferedReader輸入流來讀取URL的響應     // BufferedReader reader = new BufferedReader(new InputStreamReader(     // con.getInputStream()));     // String line = null;     // while ((line = reader.readLine()) != null) {     // System.out.println(line);     // }     // } catch (Exception e) {     // System.out.println("發送POST請求出現異常!" + e);     // e.printStackTrace();     // }   }   public static void main(String[] args) throws IOException {     FileUpload up = new FileUpload();     System.out.println(up.send("http://192.168.5.102:8845/xx",         "./vif.xml"));     ;   } } 

總結

以上所述是小編給大家介紹的Java下http下載文件客戶端和上傳文件客戶端實例代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VeVb武林網網站的支持!


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美日韩亚洲系列| 亚洲欧美国产日韩中文字幕| 性欧美暴力猛交69hd| 岛国av午夜精品| 欧美成人三级视频网站| 91精品国产综合久久香蕉最新版| 欧美成人精品xxx| 亚洲国产精品悠悠久久琪琪| 欧美精品电影免费在线观看| 亚洲欧美日本伦理| 91九色国产社区在线观看| 亚洲美女自拍视频| 国产亚洲精品久久久久久777| 欧美日韩日本国产| 一本色道久久综合狠狠躁篇怎么玩| 日韩a**中文字幕| 亚洲综合av影视| 欧美日韩国产一区在线| 亚洲精品小视频在线观看| 97香蕉超级碰碰久久免费软件| 国模吧一区二区三区| 午夜精品三级视频福利| 欧美精品免费播放| 国产免费久久av| 欧美又大又粗又长| 国产日韩在线亚洲字幕中文| 九九九热精品免费视频观看网站| 91在线看www| 久久这里只有精品99| 久久精品青青大伊人av| 91av视频在线免费观看| 深夜精品寂寞黄网站在线观看| 国产a∨精品一区二区三区不卡| 91国语精品自产拍在线观看性色| 51视频国产精品一区二区| 福利一区福利二区微拍刺激| 国产精品美女久久久免费| 欧美激情亚洲自拍| 亚洲欧美另类自拍| 国产在线观看一区二区三区| 国产视频精品久久久| 在线日韩欧美视频| 一区二区中文字幕| 日韩av男人的天堂| 久久久精品电影| 91久久国产综合久久91精品网站| 日韩av最新在线观看| 日韩免费在线播放| 欧美国产精品日韩| 国产精品久久久av久久久| www.日韩系列| 黑丝美女久久久| 日韩性xxxx爱| 久久精品国产成人精品| 亚洲午夜色婷婷在线| 国产精品福利在线观看网址| 亚洲天堂第一页| 日韩成人中文电影| 日韩精品视频免费专区在线播放| 国内偷自视频区视频综合| 国产精品稀缺呦系列在线| 亚洲欧美精品中文字幕在线| 午夜剧场成人观在线视频免费观看| 日韩一区二区三区国产| 日韩av网址在线观看| 这里只有精品视频| 成人国内精品久久久久一区| 97视频网站入口| 国模精品一区二区三区色天香| 国产精品高潮呻吟视频| 日本午夜精品理论片a级appf发布| 一本色道久久综合狠狠躁篇怎么玩| 久久亚洲精品一区二区| 国产欧美日韩91| 久久成人免费视频| 亚洲伊人成综合成人网| 国产精品久久久久99| 精品欧美国产一区二区三区| 亚洲图片在线综合| 欧美成人午夜激情视频| 亚洲精品黄网在线观看| 久久久亚洲精选| 在线免费观看羞羞视频一区二区| 91av在线不卡| 91精品国产自产91精品| 国产欧美精品xxxx另类| 国产欧美精品一区二区三区-老狼| 揄拍成人国产精品视频| 亚洲人永久免费| 国产精品av网站| 国产欧美精品日韩精品| 在线色欧美三级视频| 国产一区二区精品丝袜| 亚洲最大激情中文字幕| 亚洲图片欧美午夜| 成人免费观看a| 狠狠做深爱婷婷久久综合一区| 中文字幕久热精品视频在线| 久久久久久久久久久网站| 日韩女优人人人人射在线视频| 岛国视频午夜一区免费在线观看| 亚洲美女喷白浆| 亚洲一区二区三区成人在线视频精品| 亚洲成人1234| 国产精品美女无圣光视频| 国产日韩精品一区二区| 亚洲精品www久久久| 久久免费福利视频| 在线免费观看羞羞视频一区二区| 欧美一级淫片播放口| 亚洲在线观看视频网站| 色综合久久久久久中文网| 欧美在线视频一二三| 久久亚洲精品毛片| 亚洲激情视频在线观看| 亚洲精品一区中文字幕乱码| 国产日韩综合一区二区性色av| 96精品久久久久中文字幕| 大荫蒂欧美视频另类xxxx| 成人国产精品久久久久久亚洲| 精品久久久视频| 亚洲美女性生活视频| 97热精品视频官网| 日本欧美精品在线| 一区二区三区在线播放欧美| 97**国产露脸精品国产| 日韩欧美第一页| 97国产一区二区精品久久呦| 欧美人与性动交| 国产精品久久久久久久久久东京| 国产美女直播视频一区| 国产国产精品人在线视| 久久久久久国产免费| 亚洲欧美日本伦理| 久久久成人精品| 成人免费网视频| 日韩中文字幕不卡视频| 国产成人综合久久| 国产成人久久久| 国产精品自产拍高潮在线观看| 亚洲xxxxx性| 亚洲美女性生活视频| 国产精品美女免费视频| 亚洲人成绝费网站色www| 国产精品女主播| 精品高清美女精品国产区| 国产精品老女人视频| 欧美电影免费观看网站| 欧美激情在线狂野欧美精品| 久久久久久午夜| 成人美女av在线直播| 尤物tv国产一区| 少妇高潮 亚洲精品| 成人h视频在线观看播放| 国产精品视频成人| 国产主播精品在线| 91精品啪在线观看麻豆免费| 日本一欧美一欧美一亚洲视频| 精品久久久久久久大神国产| www.久久撸.com| 欧美在线视频免费观看| 国产精品视频一区二区三区四| 亚洲奶大毛多的老太婆| 日韩电影免费观看中文字幕|