流使用起来就是各种流对象包装来包装去的
PrintStream 的构造方法可以接收一个OutputStream对象,而FileOutputStream 的构造方法又有一个可以指定在指定文件中添加数据的,所以代码按下面的改就可以做到不覆盖原来的信息了- package com.itheima.io.print;
- import java.io.FileOutputStream;
- import java.io.IOException;
- import java.io.PrintStream;
- import java.util.Properties;
- public class PrintStreamTest {
- public static void main(String[] args) throws IOException {
- try {
- Properties properties = System.getProperties();
- properties.list(new PrintStream(new FileOutputStream("a.txt", true))); //记录系统信息 并且在记录时不覆盖原来的
- int[] A = new int[2];
- int a = A[3]; //产生越界异常
- } catch (Exception e) {
- e.printStackTrace(new PrintStream(new FileOutputStream("a.txt", true)));//记录异常信息
- }
- }
- }
复制代码 |