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

来源:互联网 发布:阿里云备案拍照地址 编辑:程序博客网 时间:2024/04/29 10:44
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();  } }}