黑马程序员技术交流社区
标题:
PrintStream的问题
[打印本页]
作者:
liguangcaiup
时间:
2013-7-1 21:27
标题:
PrintStream的问题
本帖最后由 liguangcaiup 于 2013-7-2 07:33 编辑
public class IO {
public static void main(String[] args) throws IOException {
try {
Properties properties = System.getProperties();
properties.list(new PrintStream("a.txt")); //记录系统信息
int[] A = new int[2];
int a = A[3]; //产生越界异常
} catch (Exception e) {
e.printStackTrace(new PrintStream("a.txt"));//记录异常信息
}
}
}
复制代码
e.printStackTrace(new PrintStream("a.txt"));//记录异常信息 会覆盖系统记录的信息
怎么能让异常信息加在系统信息之后呢
如何让PrintStream在已经存在的文件后面加些输出?
作者:
liujkh123
时间:
2013-7-1 21:41
流使用起来就是各种流对象包装来包装去的
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)));//记录异常信息
}
}
}
复制代码
作者:
肥猫
时间:
2013-7-1 22:04
楼上代码编译可以通过,运行不行.
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2