d**c 发帖数: 51 | 1 因为用户可以redirect standard output,那在java程序里面怎么知道任意时刻System
.out是指向哪里。
谢谢。 |
m*****u 发帖数: 1342 | 2 http://www.google.com/search?aq=f&sourceid=chrome&ie=UTF-8&q=re
System
【在 d**c 的大作中提到】 : 因为用户可以redirect standard output,那在java程序里面怎么知道任意时刻System : .out是指向哪里。 : 谢谢。
|
d**c 发帖数: 51 | 3 谢谢回答。
但这不是我的问题。我知道java如何redirect System.out,问题是如何用程序来知道
System.out指向哪里。
用伪代码来说明我的问题:
PrintStream ps = System.getOut();
if (ps instance of ConsoleStream)
{
// it is default stdout
}
else if (ps instance of FileOutputStream)
{
// find its file name/full path
}
else if (ps instance of Some-Other-Kind-Of-Output-Stream)
{
// find its storage
}
else
...
【在 m*****u 的大作中提到】 : http://www.google.com/search?aq=f&sourceid=chrome&ie=UTF-8&q=re : : System
|
d**c 发帖数: 51 | 4 自顶一下。
呼唤高手。
【在 d**c 的大作中提到】 : 谢谢回答。 : 但这不是我的问题。我知道java如何redirect System.out,问题是如何用程序来知道 : System.out指向哪里。 : 用伪代码来说明我的问题: : PrintStream ps = System.getOut(); : if (ps instance of ConsoleStream) : { : // it is default stdout : } : else if (ps instance of FileOutputStream)
|
r*****l 发帖数: 2859 | 5 To answer your question directly, see the attachment.
However, you are stuck at FileOutputStream. Stdout is also a file.
I would not recommend to branch your code based on System.out type.
You probably can use log4j and write your own appender to do the job.
【在 d**c 的大作中提到】 : 自顶一下。 : 呼唤高手。
|