Java FileCopyUtils或IOUtils

Java FileCopyUtils或IOUtils,java,spring,spring-mvc,Java,Spring,Spring Mvc,长话短说: Spring的FileCopyUtils.copy()和 Apache Commons的IOUtils.copy() 完整故事: 最近,在使用SpringMVC4开发Web应用程序时,我必须实现一个控制器,将文件发送到用户浏览器。我正在访问该文件并创建一个InputStream,通过调用HttpServletResponse.getOutputStream()重定向该文件。我找到了两种将输入流复制到输出流的方法,一种是使用Spring的FileCopyUtils.copy(input

长话短说:

Spring的
FileCopyUtils.copy()和
Apache Commons的
IOUtils.copy()

完整故事:

最近,在使用SpringMVC4开发Web应用程序时,我必须实现一个控制器,将文件发送到用户浏览器。我正在访问该文件并创建一个
InputStream
,通过调用
HttpServletResponse.getOutputStream()
重定向该文件。我找到了两种将输入流复制到输出流的方法,一种是使用Spring的
FileCopyUtils.copy(inputstream,outputstream)
,另一种是使用Apache Common的
IOUtils.copy(inputstream,outputstream)
(对于超过2GB的文件,使用largeCopy()


这两个类/方法之间有什么真正的区别吗?据我所知,Javadocs只是指将输入流复制到输出,而不需要手动关闭。

如果比较源代码,它们几乎相同,只是Spring在完成后对输出流调用
flush()

如果比较源代码,它们几乎相同,除了Spring调用
flush()
在输出流上执行操作。

IMHO两种方法都不好,因为复制缓冲区的大小非常小,为4KB。@Robert有什么想法吗?例如:写两行代码,它们的大小相同,但缓冲区更大。IMHO两种方法都不好,因为复制缓冲区的大小非常小。@Robert有什么想法吗备选方案?例如:编写两行代码,执行相同的操作,但使用更大的缓冲区。因此,考虑到内存性能,springs util的影响更大。考虑到内存性能,springs util的影响更大