代码之家  ›  专栏  ›  技术社区  ›  Rafe Kettler

我应该使用System.out.println()还是其他什么?

  •  5
  • Rafe Kettler  · 技术社区  · 14 年前

    9 回复  |  直到 14 年前
        1
  •  14
  •   Mark Peters    14 年前

    System.out

    如果您的主要目标是与控制台交互,请查看 java.io.Console . 如果您的主要目标是进行某种日志记录,请使用Java日志API或log4j之类的日志框架。

        2
  •  15
  •   wshato    14 年前

    如果您刚刚开始并希望将一些字符串打印到控制台,那么System.out.println()就可以了。把你的基本知识写下来,然后你就可以深入了解javai/O的精髓了。

        3
  •  2
  •   Quotidian    14 年前

    这取决于您试图显示的信息。如果是为了控制台用户交互,System.out是完美的。如果要显示调试信息,日志记录可能是一种方法,因为它可以让您在需要时对事情有更多的控制。

        4
  •  1
  •   Dave B    14 年前

    取决于你在做什么。我几乎总是建议使用Java日志API(Java.util.logging)。println更像是一个“调试工具”,但即使这样,您也可以使用JDK的日志API对输出进行更多的控制。。。

        5
  •  0
  •   pauljwilliams    14 年前

        6
  •  0
  •   Jacob Tomaw    14 年前

    System.out 直接是最简单、通常也是最有效的方法。如果你有很多要打印的,你可能会调查使用 BufferedOutputStream

    通过更有效地创建要打印的字符串,可以获得一些效率。如果要进行大量的连接,请查看 StringBuilder

        7
  •  0
  •   Raj    14 年前

    余能集

    然后再做sysoyts。。。

    baretail ...

    希望这有帮助。。

    拉吉。

        8
  •  0
  •   Deepank Gupta    14 年前

    我建议使用Java日志API

        9
  •  0
  •   Duke    14 年前

    是的,打印到控制台的最简单有效的方法通常是 System.out.print()和System.out.println()但是如果您有大量的输出要发送,System.out.println()可能效率很低,因为它是行缓冲的,并且与Unicode处理有关。由于缓冲区较小,System.out.println()不太适合在批处理模式下处理许多重复输出。每条管线都会立即冲洗。在这种情况下,您可能需要使用

    需要注意的是,System.out并不总是转到 应用标准输出通道;在C/C++中,它被称为STDUT。 my-app-output.txt。

    想发送一个错误消息或用户通知,与一个伟大的 如果要转到控制台,请使用System.err.print()和 System.err.println()。

    在1.6之前的Java版本中。在1.6中,有一个对象类 具体表示控制台:java.io.console。参考文献 可以从系统类中使用

    但是如果您的需求是调试整个应用程序,那么正如大家所说的,使用记录器是最好的方法。