IO流-08

 

把异常信息存到文件中

代码:
import java.io.*;
class ExInfo
{
 public static void main(String[] args)throws IOException//抛出new PrintStream("ex.txt")中异常
 {
  try
  {
   int[] arr = new int[2];
   System.out.println(arr[3]);//角标越界异常
  }
  catch(Exception e)
  {
   e.printStackTrace(new PrintStream("ex.txt")); //改变默认输出异常
  }
 }
}

---------------------------------------------------------------------------------------------------------------------------------

把异常信息存到文件中(详细)

代码:
import java.io.*;
import java.util.*;//里面有时间的包
import java.text.*;//时间格式化的包
class ExInfo
{
 public static void main(String[] args)
 {
  try
  {
   int[] arr = new int[2];
   System.out.println(arr[3]);//角标越界异常
  }
  catch(Exception e)
  {
   try
   {
    Date d = new Date();//创建日期对象
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH-mm-ss");//创建日期格式对象
    String s = sdf.format(d);//格式化日期,并赋给字符串
    
    PrintStream ps = new PrintStream("exeception.log");//把异常输出到文件中
    ps.println(s);//输出时间
    
    System.setOut(ps);// 改变默认输出,把异常输出到文件中
    }
    catch(IOException ex)
    {
    throw new RuntimeException("日志文件创建失败");
   }
   e.printStackTrace(System.out); //输出异常
  }
 }
}
//网上有log4j 可以完成日志信息的建立

 --------------------------------------------------------------------------------------------------------------------------------

输出系统信息

代码:
import java.util.*;
import java.io.*;

class SysInfo
{
 public static void main(String[] args)throws IOException
 {
  Properties prop = System.getProperties();//创建系统信息对象
  
  //System.out.println(prop);//无序输出系统信息在控制台
  
  //prop.list(System.out);//有序输出在控制台
  
  prop.list(new PrintStream("prop.log"));//有序输出到文件中
  
 }
}

---------------------------------------------------------------------------------------------------------------------------

个人总结:把异常信息存储到文件中要改变默认输出, 首先创建PrintStream对象,使用

System.setOut()接收对象,把系统信息输出要创建Properties对象,获取System.getProperties()

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值