HttpServletResponse.getOutputStream.print(string)vs getWriter(String)的性能和大小限制

时间:2017-10-18 16:22:35

标签: java httpresponse

对于一个Web项目,我正在将大部分文本写入网页(表格)或甚至更大(可能是几MB)以下载CSV文件。 处理它的java方法接收一个StringBuilder内容字符串,该字符串最初(由该模块的创建者)通过char循环发送char:

response.getOutputStream()。写(content.charAt(I))。

在询问循环时,给出的理由是他认为字符串可能太大而无法一次写入。 (使用java 1.6)。 我无法在任何地方找到任何大小限制,然后问题是使用哪种方法代替:print()或getWriter()? 字符串中的数据都是文本。

1 个答案:

答案 0 :(得分:1)

他错了。如果有的话,那么一次做一个角色效率低下,或者至少没用。如果你的内存中有String,你可以一次性写出来而不用担心。

如果您只撰写文字,请使用WriterOutputStream用于二进制数据(尽管您可以将其包装在OutputStreamWriter中以在两者之间进行转换)。见Writer or OutputStream?