java实现持续写入内容到txt文件

 
import java.io.*;
import java.util.*;

public class LogTest{

 public static void main(String[] args)
 {
  File log=new File("user\\log\\login.log");
  String newLog="UserName:Jim Green  |  Date:"+new Date()+"  |  IP:202.65.21.14";
        appendLog(log,newLog);
 }
 
 public static void appendLog(File log,String newLog)
 {
  Scanner sc=null;
  PrintWriter pw=null;
  try{
   if(!log.exists())//如果文件不存在,则新建.
   {
    File parentDir=new File(log.getParent());
    if(!parentDir.exists())//如果所在目录不存在,则新建.
     parentDir.mkdirs();
    log.createNewFile();
   }
   sc=new Scanner(log);
   StringBuilder sb=new StringBuilder();
   while(sc.hasNextLine())//先读出旧文件内容,并暂存sb中;
   {
    sb.append(sc.nextLine());
    sb.append("\r\n");//换行符作为间隔,扫描器读不出来,因此要自己添加.
   }
   sc.close();
   
   pw=new PrintWriter(new  FileWriter(log),true);
   /*A.*/pw.println(sb.toString());//,写入旧文件内容.
   /*B.*/pw.println(newLog);//写入新日志.
   /*
    * 如果先写入A,最近日志在文件最后.
    * 如是先写入B,最近日志在文件最前.
    */
   pw.close();
  }
  catch(IOException ex)
  {
   ex.printStackTrace();
  }
 }
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值