private void readFile(String docId, String token, String productResource, String docUrl){ String url = thirdConfig.getAttachmentUrl() + docId; //下载资源 BufferedInputStream bis = null; BufferedOutputStream bos = null; URL urlfile = null; HttpURLConnection httpUrl = null; try { urlfile = new URL(url); httpUrl = (HttpURLConnection) urlfile.openConnection(); httpUrl.setRequestProperty("Authorization",token); // 设置通用的请求属性 httpUrl.setRequestProperty("accept", "*/*"); httpUrl.setRequestProperty("connection", "Keep-Alive"); httpUrl.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)"); // 建立实际的连接 httpUrl.connect(); Map<String, List<String>> map = httpUrl.getHeaderFields(); List<String> disposition = map.get("content-disposition"); if(disposition == null){ disposition = map.get("Content-Disposition"); } if(disposition == null || disposition.size() <= 0){ logger.info("------------disposition is null..."); httpUrl.disconnect(); return; } String filename = disposition.get(0); filename = filename.substring(filename.indexOf("=") + 1); filename = filename.replaceAll("\"", ""); String name = java.net.URLDecoder.decode(filename,"UTF-8"); String path = thirdConfig.getFilePath() + "/" + docId + "/" + name; File f = FileUtil.CreateFolderSystemPath(path); bis = new BufferedInputStream(httpUrl.getInputStream()); bos = new BufferedOutputStream(new FileOutputStream(f)); int len ; byte[] b = new byte[2048]; while ((len = bis.read(b)) != -1) { bos.write(b, 0, len); } bos.flush(); bos.close(); bis.close(); httpUrl.disconnect(); }catch (Exception e){ logger.error("--------------- download fail-------------: "); logger.error(e.getMessage()); }finally { if (bis != null){ try { bis.close(); } catch (IOException e) { logger.error(e.getMessage()); } } if (bos != null){ try { bos.close(); } catch (IOException e) { logger.error(e.getMessage()); } } if(httpUrl != null){ httpUrl.disconnect(); } } }