在Java中简单的读写log或者txt文件内容

废话就不多说了,直接进入主题:代码如下:

1.读取log或者txt文本信息

 /**
  * 读取log或者txt信息
  *
  * @param filePath
  * @return
  */
 public List<String> readLog(String filePath) {
  List<String> list = new ArrayList<String>();

  try {
   FileInputStream is = new FileInputStream(filePath);
   InputStreamReader isr = new InputStreamReader(is);
   BufferedReader br = new BufferedReader(isr);
   String line;
   try {
    while ((line = br.readLine()) != null) {
     if (line.equals(""))
      continue;
     else
      list.add(line);
    }
   } catch (IOException e) {
    e.printStackTrace();
    System.out.println("读取一行数据时出错");
   }
  } catch (FileNotFoundException e) {
   e.printStackTrace();
   System.out.println("文件读取路径错误FileNotFoundException");
  }
  return list;
 }

 

 

2.写入log或者txt文件内容

/**
  * 新建log或者txt文件并写入内容
  *
  * @param filePath
  * @param fileName
  * @param msg
  */
 public void createLog(String filePath, String fileName, String msg) {
  PrintWriter logPrint = null;
  try {
   logPrint = new PrintWriter(
     new FileWriter(filePath + fileName, true), true);
  } catch (IOException e) {
   (new File(filePath)).mkdir();
   try {
    logPrint = new PrintWriter(new FileWriter(filePath + fileName,
      true), true);
   } catch (IOException ex) {
    logPrint = new PrintWriter(System.err);
    writerErrorInfo(logPrint, ex, "无法打开日志文件:" + filePath + fileName);
   }
  }
  writerLogInfo(logPrint, msg);
 }

 /**
  * 将文本信息写入日志文件
  *
  * @param msg
  *            日志内容
  */
 private synchronized static void writerLogInfo(PrintWriter logPrint,
   String msg) {
  logPrint.println(new SimpleDateFormat("yyyy-MM-dd hh:mm:ss")
    .format(new Date())
    + " " + msg);
 }

 /**
  * 将文本信息与异常写入日志文件
  *
  * @param e
  * @param msg
  */
 private synchronized static void writerErrorInfo(PrintWriter logPrint,
   Throwable e, String msg) {
  logPrint.println(new SimpleDateFormat("yyyy-MM-dd hh:mm:ss")
    .format(new Date())
    + " " + msg);
  e.printStackTrace(logPrint);
 }

 

注意的是:

filePath必须是这样的:“盘号://文件夹名称//”

fileName必须是这样的:test.txt 或者test.log

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值