package com.hz.his.util; import feign.Response; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; /** * 文件处理器 */ public class FileDownUtil { /** * 获取文件转化工具 * @param response 微服务返回 * @param fileUrl 文件路径 * @return */ public static File downToFile(Response response,String fileUrl){ Response.Body body = response.body(); InputStream inputStream = null; String filePath =""; FileOutputStream fos = null; File downloadFile = null; try { //获取response中的文件流 inputStream = body.asInputStream(); //临时文件 String suffix = fileUrl.substring(fileUrl.lastIndexOf(".")); downloadFile = File.createTempFile("temp/", suffix); //写入文件 fos= new FileOutputStream(downloadFile); byte[] c = new byte[1024]; int length; while((length= inputStream.read(c))>0){ fos.write(c,0,length); } } catch (IOException e1) { e1.printStackTrace(); }finally{ try { inputStream.close(); } catch (IOException e) { e.printStackTrace(); } try { fos.close(); } catch (IOException e) { e.printStackTrace(); } if(downloadFile != null){ downloadFile.deleteOnExit(); } } return downloadFile; } }