java中如何获取 控制台的输出信息,错误信息,和异常信息。

java中如何获取 控制台的输出信息,错误信息,和异常信息。并把它们输入到一个文件中。请大侠们给小弟一个简单的例子。

第1个回答  推荐于2017-11-28
很简单的,如果你查api文档会发现类System有个“字段摘要”,很容易发现有个out,
它返回static PrintStream,还会发现System有个方法是static void setOut(PrintStream out)
重新分配“标准”输出流。 再点击PrintStream,很明显它是OutputStream
的子类 解决如下
输出流重定向

import java.io.*;

public class IO2File {
public static void main(String[] args) throws IOException {

File f=new File("out.txt");
f.createNewFile();
FileOutputStream fileOutputStream = new FileOutputStream(f);
PrintStream printStream = new PrintStream(fileOutputStream);
System.setOut(printStream);
System.out.println("默认输出到控制台的这一句,输出到了文件 out.txt");
}
}追问

但是有异常信息呢!有没有用??

追答

查api文档你就会看到每个异常的父类是Exception
从api上可以看到Exception的父类时Throwable
你该知道正常情况下异常是这样打印到控制台的e.printStackTrace()
这个方法后面有解释:将此 throwable 及其追踪输出至标准错误流。
如果你仔细就会发现下面有一个方法是你想要的void printStackTrace(PrintStream s)
将此 throwable 及其追踪输出到指定的输出流。
下面不用说了吧

本回答被提问者采纳
第2个回答  2011-05-05
对的,log4j日志文件啊!
第3个回答  2011-05-05
用log4j也能放入到文本文件吧
第4个回答  2011-05-05
不知道你是否是想记录到日志,如果是想记录到日志的话就使用Log4j。追问

不是啦,我就是想要取得信息 ,把它放到一个文本文件里去。大侠,帮帮忙!

相似回答