java stderr到哪里去?

问题描述 投票:8回答:6

我想知道,java stderr通常在哪里?

[我知道我可以使用System.setErr更改stderr,它'重新分配“标准”错误输出流。,但我不知道哪个是“标准”。

我想进一步说明我的问题:我有在Java(jni)中使用的C ++库。问题是看来我看不到来自C ++库的stderr输出。当我运行使用库的Java api时,我在C ++库中调用assert(),但在控制台中看不到输出。]

我想知道,java stderr通常在哪里?我知道我可以使用System.setErr更改stderr,它“重新分配“标准”错误输出流。”但我不知道哪个是“ ...”>

java c++ java-native-interface stderr
6个回答
14
投票

进入流程的标准错误流,无论设置为什么。

  • 如果从控制台运行该应用程序,它可能也会写入控制台。

3
投票

默认情况下,System.err是控制台,就像System.out。


2
投票

调用者的文件描述符2。它从何而来-取决于调用者。在控制台上,您可以将其重定向到其他地方,例如:


0
投票

我刚刚编写了一个执行System.err.println的小测试程序,它似乎会输出到控制台。


0
投票

-1
投票

标准错误输出流进入控制台。该流已经打开并且准备接受输出数据。

© www.soinside.com 2019 - 2024. All rights reserved.