在Java中,我尝试将String作为输出写入控制台。 String的长度为20166个字符。将字符串打印到控制台后,只显示字符串的后半部分。
整个字符串是一条长行:
它看起来像什么: 从一开始就有很多空格(应该是字母数字字符),然后就可以正确显示其余的字符串了。
我尝试将控制台编码从默认更改为UTF-16和UTF-8,但它没有帮助。
我想输出的字符串是从特定网页抓取的文本内容(http://docs.jquery.com/Tutorials:Getting_Started_with_jQuery)。如果我抓取不同的网页,则没有问题。
我如何处理字符串: 我使用Web服务从网页获取文本内容。返回的String(文本contet)正确打印(整个)。我需要处理这个字符串,所以我将所有字符更改为小写,并用单个空格替换所有多个空格。
textContent.toLowerCase().replaceAll("\\s+", " ");
在小写字符后,我仍然可以正确打印整个字符串,但在用一个替换多个空格后,字符串的开头不可见。
你知道问题是什么吗?
提前获得任何帮助。
答案 0 :(得分:31)
这不是错误。它是Eclipse包含的一个可更改设置,使输出更具可读性。可以通过转到Windows进行更改 - >偏好 - >运行/调试 - >控制台然后取消选中"限制控制台输出"默认情况下为ON。
有关这些设置的详细信息和详细信息,请访问 http://help.eclipse.org/juno/index.jsp?topic=%2Forg.eclipse.jdt.doc.user%2Freference%2Fpreferences%2Frun-debug%2Fref-console.htm
答案 1 :(得分:22)
控制台的首选项有哪些?特别检查“固定宽度控制台”设置加“限制控制台输出”。也许你的控制台根本无法在一行中保存那么多字符。
在Eclipse中如果你转到首选项并在下拉列表中,你可以看到RUN / DEBUG选项,如果你单击RUN / DEBUG下拉菜单,你可以看到控制台按钮,你可以在那里调整“固定宽度”控制台“加”限制控制台输出“
[编辑] 现在Eclipse最终必须在控制台中删除数据,因为它没有无限量的内存。如果控制台仍然被切断,您可以使用此技巧:打开“运行配置”对话框(在绿色“运行”按钮的下拉菜单中找到)。
“公共”选项卡选项卡底部的“标准输入和输出”组中有选项,用于保存文件中所有输出的副本。然后,您可以使用操作系统工具检查此文件。
另请注意,很长的行可能会使Eclipse变慢(即它可能会挂起几秒钟)。这是由于bug in the regexp matching patterns for Exception stack traces。如果发生这种情况,请将行长度限制为1000个字符或更少。
这对Spring来说尤其有问题,它有时会在消息中创建具有50'000个字符的异常。
如果您遇到与CDT Global Build Console类似的问题,请参阅此处:Eclipse CDT Build Console output not displaying entire compiler output
答案 2 :(得分:1)
在“首选项”中检查控制台缓冲区大小是否足以满足您的需要。通常它是80000个字符,以防它被更改。
答案 3 :(得分:0)
检查此错误:Long Lines not printed to console,它是 Bug 23406 的副本,于 2002 年开放,但尚未修复!我刚刚在 Eclipse 2020-06 中发现了它,然后我也尝试了非常古老的 Ecipse Mars,它工作正常。他们说这个问题不仅影响控制台,还影响编辑器。评论说“这个错误对于 WONTFIX 来说有太多重复”。