黑马程序员技术交流社区

标题: System.setOut() 问题 [打印本页]

作者: 范龙彬    时间: 2011-11-23 19:56
标题: System.setOut() 问题

public class Test5 {
        public  static void main(String []args ) throws IOException{


                try {
                        int []arr =new int[2];
                        System.out.println(arr[2]);
                } catch (Exception e) {
                        String str = new SimpleDateFormat("yyy-MM-dd hh:mm").format(new Date());
                        PrintStream ps =new  PrintStream("d:\\异常信息.log");
                        ps.println(str);

                        e.printStackTrace();  //    e.printStackTrace(ps)   这么写我明白              
                        System.setOut(ps);                             
                }

e.printStackTrace()默认的是System.Out(控制台)   加上PrintStream ps (d:\\异常信息.log)一共两个输出流.
那么下面的System.setOut(ps); 改变的是哪个输出流  的目的 ???
System.setOut(ps)方法为什么不能把System.Out(控制台)这个流的异常信息不能写入d:\\异常信息.log这个目地中.??

作者: 袁世宇    时间: 2011-11-23 20:16
你应该少写了个对象把 PrintStream ps =new  PrintStream(new FileOutputStream("d:\\异常信息.log"));

我没测试不知道对不对




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2