實例如下所示:
控制器:@requestmapping(value =“/{loanID}/{atmttype}”)public void doget(@pathvariable(@pathvariable(“ loanId”)字符串loanId,@pathVariable(“ atmttype”)字符串atmttype,httpsevlet req, hashmap <string,string>(); map.put(“ LoanID”,LoanID); MAP <String,String> urlbyloanid = new Hashmap <String,String>(); // MAP <String,String> urlbyloanid = zcmqueryinfoservice.queryurlbyloanid(map);嘗試{if(urlbyloanid!= null){字符串wjurl =“ http://10.0.15.11:8080/gateway/gateway//nfs/marvel-core-admin/2017/11/11/11/compact_seal_seal_17101111111193711937123712316161161161111937112316115_PDF”; //字符串wjurl = urlbyloanid.get(“ url”); int i = wjurl.lastIndexof(“/”);字符串fileName = wjurl.substring(i+1); url url = new URL(wjurl); httpurlconnection conn =(httpurlConnection)url.openconnection(); //設置超時間為3秒CONN.SETCONNECTTIMEOUT(3*1000); //防止屏蔽程序抓取而返回403錯誤CONN.SETREQUESTPROPERTY(“用戶代理”,“ Mozilla/4.0(兼容; MSIE 5.0; Windows NT; digext)”); //得到輸入流inputStream inputStream = conn.getInputStream(); //獲取自己數組字節[] bs = ReadInputStream(InputStream); wonspons.setContType(“應用/八位字節; charset = iso8859-1”); bufferedOutputStream輸出= null; BufferedInputStream Input = null;嘗試{output = new BufferedOutputStream(response.getOutputStream()); //中文文件名必須轉碼為ISO8859-1,否則為亂碼字符串filenamedown = new String(filename.getBytes(),“ ISO8859-1”); //作為附件下載響應。 output.write(bs);響應.flushbuffer(); } catch(異常e){log.error(“下載日誌文件錯誤”,e); } //最後{if(input!= null)嘗試{input.close(); } catch(ioexception e){e.printstacktrace(); } if(output!= null)嘗試{output.close(); } catch(ioexception e){e.printstacktrace(); }}}} catch(異常e){e.printstacktrace(); }}/ ** *從輸入流中獲取字節數組 * @param inputStream * @return * @throws ioexception */ public static byte [] readinputStream(inputStream inputStream)拋出ioexception ioexception {byte [] buffer = new byte = new byte [1024]; int len = 0; ByTearRayOutputStream bos = new ByTearRayOutputStream(); while((len = inputstream.read(buffer))!= -1){bos.write(buffer,0,len); } bos.close();返回bos.tobytearray(); }以上這篇java通過url下載文件並輸出的方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林網。 ,也希望大家多多支持武林網。