很简单的,如果你查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 及其追踪输出到指定的输出流。
下面不用说了吧
本回答被提问者采纳