![java将错误信息写入文件 java将错误信息写入文件](https://image.shishitao.com:8440/aHR0cHM6Ly9ia3FzaW1nLmlrYWZhbi5jb20vdXBsb2FkL2NoYXRncHQtcy5wbmc%2FIQ%3D%3D.png?!?w=700&webp=1)
第一种办法可以通过字符串,也就是先把错误信息写入字符串,再将字符串写入文件
import java.io.*; public class Demo {
public static void main(String[] args) throws Exception{
try{
throw new Exception();
}catch(Exception e){
StringWriter writer = new StringWriter(); e.printStackTrace(new PrintWriter(writer)); String eInfo = writer.toString(); System.out.println(writer.toString()); File file = new File("D:\\log.txt"); if(!file.exists()){
file.createNewFile();
} PrintStream printer = new PrintStream(new FileOutputStream(file)); printer.println(writer.toString());
}
} }
e.printStackTrace 有三个重构函数,第一个是无参数,默认是打印在 System.err 打出来是红色的,如果想要打印成黑色的,e.printStackTrace(System.out); 除此之外还有一个重构是接收一个 PrintWriter
第二种实现方式,writer作为参数传给printStackTrace e.printStackTrace(new PrintWriter(writer));