长话短说:
Spring
FileCopyUtils.copy()
和IOUtils.copy()
之间有什么区别? Apache Commons'InputStream
?
全文:
最近,在使用SpringMVC 4开发Web应用程序时,我不得不实现一个将文件发送到用户浏览器的控制器。我正在访问该文件,并通过调用HttpServletResponse.getOutputStream()
创建一个重定向的FileCopyUtils.copy(inputstream, outputstream)
。我发现了两种将输入流复制到输出流的方法,一种是使用Spring的IOUtils.copy(inputstream, outputstream)
,另一种是使用Apache Common的# creating the database type
execute("create type post_status as enum ('published', 'editing')")
# creating a table with the column
create table(:posts) do
add :post_status, :post_status, null: false
end
(或largeCopy()用于文件超过2GB)。
两个类/方法之间是否存在真正的差异?据我所知,Javadocs只是将输入流复制到输出而不需要手动关闭。
答案 0 :(得分:1)
如果比较源代码,它们几乎完全相同,只是Spring完成后会在输出流上调用flush()
。