java中如何获取 控制台的输出信息,错误信息,和异常信息。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中如何获取 控制台的输出信息,错误信息,和异常信息。相关的知识,希望对你有一定的参考价值。
java中如何获取 控制台的输出信息,错误信息,和异常信息。并把它们输入到一个文件中。请大侠们给小弟一个简单的例子。
参考技术A 很简单的,如果你查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 及其追踪输出到指定的输出流。
下面不用说了吧
不是啦,我就是想要取得信息 ,把它放到一个文本文件里去。大侠,帮帮忙!
关于获取java异常的方法
参考技术A 直接通过“try.....catch"将异常信息进行捕获,之后输出异常信息即可如:
try
//需要捕获异常的代码
catch
(Exception
e)
System.out.println(e.getMessage());
解释:以上代码中如果在”//需要捕获异常的代码“
中有错误,会直接进行控制台输出。
以上是关于java中如何获取 控制台的输出信息,错误信息,和异常信息。的主要内容,如果未能解决你的问题,请参考以下文章