实例如下所示 :
Pengontrol : @RequestMapping (value = "/{LOANID}/{ATMTTYPE}") public void doGet (@PathVariable ("LOANID") String LoanID,@PathVariable ("ATMTTYPE") String REXTTED, HTTPSERVLEQUEST REQ, HTTPSERVLETREPREVETREVET, HTTPSERVLETRED (HTTPSERVLETRED (HTTPSERVLETRED (HTTPSERVLETRECEST (HTTPSERVLETRED (HTTPSERVLETRED (" Hashmap <string, string> (); peta.put ("pinjaman", pinjaman); Peta <string, string> urlbyloanid = new HashMap <string, string> (); // peta <string, string> urlbyloanid = zcmqueryInfoservice.queryurlbyloanid (peta); try { if(urlByLoanid!=null){ String wjurl="http://10.0.15.11:8080/gateway//nfs/marvel-core-admin/2017/10/11/compact_seal_17101119371231615_7.pdf"; // string wjurl = urlbyloanid.get ("url"); int i = wjurl.LastIndexOf ("/"); String filename = wjurl.substring (i+1); Url url = url baru (wjurl); HttpurlConnection conn = (httpurlconnection) url.openconnection (); // 设置超时间为 3 秒 Conn.SetConnectTimeout (3*1000); // 防止屏蔽程序抓取而返回 403 错误 Conn.SetRequestProperty ("User-Agent", "Mozilla/4.0 (kompatibel; MSIE 5.0; Windows NT; Digext)"); // 得到输入流 inputStream inputStream = conn.getInputStream (); // 获取自己数组 byte [] bs = readInputStream (inputStream); response.setContentType ("Aplikasi/Octet-Stream; Charset = ISO8859-1"); Output BufferedOutputStream = null; Input BufferedInputStream = NULL; coba {output = baru bufferedoutputStream (response.getoutputStream ()); // 中文文件名必须转码为 iso8859-1, 否则为乱码 string fileNamedown = string baru (filename.getbytes (), "iso8859-1"); // 作为附件下载 response.setHeader ("Disposisi Konten", "Lampiran; FileName =" + FileNamedown); output.write (BS); response.flushbuffer (); } catch (Exception e) {log.error ("Unduh kesalahan file log", e); } // 用户可能取消了下载 akhirnya {if (input! = Null) coba {input.close (); } catch (ioException e) {e.printstacktrace (); } if (output! = null) coba {output.close (); } catch (ioException e) {e.printstacktrace (); }}}} catch (Exception e) {E.PrintStackTrace (); }}/ ** * 从输入流中获取字节数组 * @param inputStream * @return * @throws ioException */ public static byte [] readInputStream (inputStream inputStream) melempar ioException {byte [] buffer = byte baru [1024]; int len = 0; BytearrayoutputStream bos = new bytearrayoutputStream (); while ((len = inputStream.read (buffer))! = -1) {bos.write (buffer, 0, len); } bos.close (); return bos.tobytearray (); }以上这篇 java 通过 url 下载文件并输出的方法就是小编分享给大家的全部内容了 , 希望能给大家一个参考 , 也希望大家多多支持武林网。