我想通过Spring-OpenFeign实现零拷贝将文件从服务器下载并保存到本地目录。
以下是朴素的下载方法:
import org.apache.commons.io.FileUtils
@GetMapping("/api/v1/files")
ResponseEntity<byte[]> getFile(@RequestParam(value = "key") String key) {
ResponseEntity<byte[]> resp = getFile("filename.txt")
File fs = new File("/opt/test")
FileUtils.write(file, resp.getBody())
}
在这段代码中,数据流将会如下:feign内部流 -> 缓冲区 -> 字节数组 -> 缓冲区 -> 文件
我该如何以更内存高效且更快的方式下载并保存文件?