我需要将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