Java では、指定されたストリームが または のいずれかである場合、引数として渡されるストリームの名前をどのように見つけることができますSystem.err
かSystem.out
?
public String getStreamName(OutputStream arg0) {
String streamName = ????;
return "This is stream: " + streamName;
}
次のようなものを返す必要があります。
This is stream: System.err
を試しましたが、返される名前は次のようになり、実行ごとに変化するarg0.toString()
ため、役に立たないようです。java.io.PrintStream@71cb25
名前が固定されていれば、stdout と stderr の既知の名前と比較できます。