【问题标题】:How to print a String in multiline Output Java如何在多行输出 Java 中打印字符串
【发布时间】:2011-12-02 11:25:25
【问题描述】:

首先我要声明的是,尽管有标题,但这个问题与我在此处找到的问题不是重复的:Java multiline string。 我仔细阅读了该问题的所有答案,但找不到解决问题的方法。

我的问题与另一个问题之间的根本区别在于,我需要在多行中打印一个字符串,我现在没有预先确定其长度,因此无法通过将块中的字符串。

我编写了一个 Java 应用程序,可以打印从网络论坛下载的控制台帖子。我面临的问题是,由于帖子内容保存在一个字符串中,当我使用

在屏幕上打印它时

System.out.println(string_variable_containing_post)

它只会在字符串的最后换行。

这很不舒服。

我想知道是否有一种方法可以指定最大字节数,然后自动插入新行。

提前致谢,

马特奥

【问题讨论】:

  • 你不能把'\n'放在你的string_variable_containing_post中吗?
  • 查看此问题的已接受答案:stackoverflow.com/questions/891969/…
  • @shoulcheck 事实是我直接将 post 的内容存储在字符串中,没有对其进行处理。要插入 '\n' 我需要访问它,并修改它的内容,即不是我想做的。
  • @anubhava 不错,我正在检查它..

标签: java string newline println


【解决方案1】:

如果 String abc 的长度为 200,我希望一行 100 个字符,那么一种肮脏的方法可能是

System.out.println(abc.substring(0,100) + "\n" + abc.substring(100,200));

您可以在循环中执行此操作以在原始 abc 中附加 \n

【讨论】:

    【解决方案2】:

    你可以使用Guava的Splitter

     Iterable<String> lines = Splitter.fixedLength(desiredLineLength).split(string_variable_containing_post);
     for (String line : lines) {
          System.out.println(line);
     }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-10-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-12
      相关资源
      最近更新 更多