黑马程序员技术交流社区
标题:
分析
[打印本页]
作者:
程序爱好者
时间:
2014-4-26 16:51
标题:
分析
public static void Exceptions()throws IOException
{
try {
int[] num=new int[3];
System.out.println(num[5]);
} catch (Exception e) {
Date d=new Date();
SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
String s=sdf.format(d);
PrintStream ps=new PrintStream("Exceptions.log");
ps.println(s); //这句怎么理解
System.setOut(ps);
e.printStackTrace(System.out);
}
}
复制代码
谁给我讲讲这的意思 详细点
作者:
eternallove
时间:
2014-4-26 18:03
PrintStream 为其他输出流添加了功能,使它们能够方便地打印各种数据值表示形式的一个类。
PrintStream ps=new PrintStream("Exceptions.log"); 创建具有指定文件名称且不带自动行刷新的新打印流对象。
ps.println(s);就是将得到的s字符串写到Exceptions.log文件中。
作者:
小马初长成
时间:
2014-4-26 19:08
public PrintSteam(OutputStream out)和public PrintSteam(OutputStream out,boolean autoFlush)在默认情况下显示刷新,如果autoFlush参数为true,则在每输入一个字节数组或换行,或则调用println()时刷新。
PrintStream ps=new PrintStream("Exceptions.log");//autoFlush参数为true无刷新的功能
在添加Date的同时需要调用ps.println(s)执行刷新操作
作者:
创造命运
时间:
2014-4-26 19:58
import java.io.*;
import java.util.*;
import java.text.SimpleDateFormat;
public class Test1
{
public static void main(String[] args) throws Exception
{
exceptions();
}
public static void exceptions()throws IOException
{
try {
int[] num=new int[3];
System.out.println(num[5]);
} catch (Exception e) {
Date d=new Date();
SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
String s=sdf.format(d);
PrintStream ps=new PrintStream("Exceptions.log");
ps.println(s); //这句怎么理解。
System.setOut(ps);
e.printStackTrace(System.out);
}
}
}
ps.println(s); //这句怎么理解。这句话的意思就是将字符串s(即日历)打印到文件Exception.log中去。我完善了一下代码,你可执行该代码后,在你存放该程序的当前目录下查看Exception.log这个文件的内容,会有如下内容:
2014年04月26日 19:50:30 (当然,这里的时间将会是你运行该程序时的时间。)
java.lang.ArrayIndexOutOfBoundsException: 5
at Test1.exceptions(Test1.java:96)
at Test1.main(Test1.java:90)
作者:
世界公民
时间:
2014-4-26 21:10
起来。。。不愿做奴隶的人们。。。。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2