String应保持与TextArea类似的换行符

时间:2016-09-14 10:41:24

标签: java html string

输入textarea :(这3行)

<textarea id="preM" rows="3" cols="10" style="resize: none; width:100%;">
</textarea><br/>
  

这是textarea的例子   这是新线路   大家好

在JSP页面中,我正在检索文本区域的值

String variableString = request.getParameter("preM");
System.out.println(variableString);

输出为:

  

这是textarea的例子这是新的Line Hello All

预期产出:

  

这是textarea的例子   这是新线路   大家好

我已经尝试了

StringBuffer preM = new StringBuffer(request.getParameter("preM"));
int loc = (new String(preM)).indexOf('\n');
while(loc > 0){
  text.replace(loc, loc+1, "<BR>");
  loc = (new String(preM)).indexOf('\n');
}
out.println(preM);

但获得loc=-1

1 个答案:

答案 0 :(得分:0)

最好的方法是将文本包装成BufferedReader,它可以用来遍历行,然后使用PrintWriter将每行写入文件特定于平台的换行符。

请参阅此SO:Strings written to file do not preserve line breaks

这里提到了两种方法,个人来节省内存和为了在更大的字符串上表现良好,我会选择Bufferedreader方式。