java - 如何将 Getopt 错误消息的输出重定向到字符串?

标签 java

我需要将 Getopt 类错误消息存储到字符串中。

通常该错误将打印在标准错误控制台中。

我该怎么做?

最佳答案

您也许可以使用System.setOut和/或 System.setErr .

举个例子:

static void printMessage()
{
  System.out.println("Hello");
}

public static void main(String[] args) throws Exception
{
  // ByteArrayOutputStream = in-memory output stream
  OutputStream output = new ByteArrayOutputStream();
  PrintStream oldStream = System.out; // store the current output stream
  System.setOut(new PrintStream(output)); // change the output stream
  printMessage(); // call function that prints to System.out
  System.setOut(oldStream); // restore the old output stream
  System.out.println("Output from stream: " + output.toString());
}

以上只会产生以下输出:

Output from stream: Hello

关于java - 如何将 Getopt 错误消息的输出重定向到字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19023069/

相关文章:

javascript - 找不到合适的编码器(java websocket)

java - Android/Eclipse 代码错误

java - 同步计数器计数不正确

java - 使用 java 解析 xml 文件——基于 android 的应用程序

java - ArrayList<Short> 指向 ShortBuffer (java)

java - 如何将从日期选择器中选取的每个日期存储到 Android 上的内存或数据库中?

java - 使用递归打印出收敛和发散的数字序列时遇到问题

java - 在透明 JFrame 上添加图像

java - "fill_parent"和 "wrap_content"之间的区别

java - 如何将一个文本文件分成两部分?