A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

/*
要求:将系统抛出的异常写入文本中。并同时附带打印时间。
*/
import java.io.*;
import java.util.*;
import java.text.*;
class ThreadDemo
{
        public static void main(String[] args)throws IOException
        {
                try
                {
                        int[] arr=new int[2];
                        System.out.println(arr[2]);
                }
                catch (Exception e)
                {
                        Date d=new Date();
                        SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd HH-mm-ss");
                        String g=df.format(d);
                        PrintStream p=new PrintStream("Exception.txt");
                        p.write(g.toString().getBytes());
                        e.printStackTrace(p);
                }
               
        }
}

评分

参与人数 1技术分 +1 收起 理由
简★零度 + 1 赞一个!

查看全部评分

6 个回复

倒序浏览
import java.io.*;
import java.util.*;
import java.text.*;
class ThreadDemo
{
        public static void main(String[] args)throws IOException
        {
                try
                {
                        int[] arr=new int[2];
                        System.out.println(arr[2]);
                }
                catch (Exception e)
                {
                        Date d=new Date();
                        SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd HH-mm-ss");
                        String g=df.format(d);
                        PrintStream p=new PrintStream("Exception.txt");
                        p.println(g);
                        e.printStackTrace(p);
                }
               
        }
}
首先你的这句p.write(g.toString().getBytes());中的toString()是多余的,g本身就是String类型的。
要实现换行直接使用PrintStream中的println方法打印就行了。

评分

参与人数 1技术分 +1 收起 理由
简★零度 + 1

查看全部评分

回复 使用道具 举报
  1. import java.io.*;
  2. import java.util.*;
  3. import java.text.*;
  4. class ThreadDemo
  5. {
  6.         public static void main(String[] args)throws IOException
  7.         {
  8.                 try
  9.                 {
  10.                         int[] arr=new int[2];
  11.                         System.out.println(arr[2]);
  12.                 }
  13.                 catch (Exception e)
  14.                 {
  15.                         Date d = new Date();
  16.                         SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd HH-mm-ss");
  17.                         String g = df.format(d);
  18.                         PrintStream p = new PrintStream("Exception.txt");
  19.                                                 BufferedWriter br = new BufferedWriter(new OutputStreamWriter(p));//加入一个缓冲区
  20.                         br.write(g.toString());
  21.                                                 br.newLine();
  22.                                                 br.flush();
  23.                         e.printStackTrace(p);
  24.                 }
  25.                
  26.         }
  27. }
复制代码


新手答题.不对的别介意...

评分

参与人数 1技术分 +1 收起 理由
简★零度 + 1 赞一个!

查看全部评分

回复 使用道具 举报
加一句
p.write("\r\n-------------------------\r\n".getBytes());
这个不就行了么,在倒数第一行和第二行之间
回复 使用道具 举报
~IN_HAND~ 发表于 2013-11-28 21:38
import java.io.*;
import java.util.*;
import java.text.*;

不错。。。
回复 使用道具 举报
冯晓骏 发表于 2013-11-28 21:45
加一句
p.write("\r\n-------------------------\r\n".getBytes());
这个不就行了么,在倒数第一行和第二行 ...

这样不太好吧???不能跨平台了
回复 使用道具 举报
潜伏 发表于 2013-11-28 22:04
这样不太好吧???不能跨平台了

恩,println也行
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马