Java中如何使用RestTemplate下载大文件呢?
下文笔者讲述RestTemplate下载大文件的方法分享,如下所示
RestTempate下载大文件的实现思路 使用边读边写模式 及时释放内存,减少服务器压力例:RestTempate下载大文件的示例
void downLoadBigFile() throws IOException { // 待下载的文件地址 String url = "http://xxxx"; // 文件保存的本地路径 String targetPath = "D:\\xxx"; //定义请求头的接收类型 RequestCallback requestCallback = request -> request.getHeaders() .setAccept(Arrays.aslist(MediaType.APPLICATION_OCTET_STREAM, MediaType.ALL)); //对响应进行流式处理而不是将其全部加载到内存中 restTemplate.execute(url, HttpMethod.GET, requestCallback, clientHttpResponse -> { Files.copy(clientHttpResponse.getBody(), Paths.get(targetPath)); return null; }); }
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。