实例如下所示:
控制器:@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下载文件并输出的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持武林网。,也希望大家多多支持武林网。