java实现把每天修改过的文件名入库保存

来源:互联网 发布:ubuntu 16.04.3 lts 编辑:程序博客网 时间:2024/04/30 08:54

每天写程序,改的代码比较多,改的文件也比较多,有时候第二天发现程序出bug了,但是忘记自己前一天修改的哪些文件甚是头疼,然后自己就写了一个能把每天修改过的文件名入库保存的程序。

这个程序实现的思路是:

1、指定一个扫描的文件下,一般是程序的文件夹。

2、指定扫描文件的扩展名。

3、得到每个文件的最后修改时间,并且判断是否是在当天修改的,是的话把文件名入库(或者是包括项目路径、包路径),然后保存在集合里。

4、查询表里面的数据,遍历每天数据看看有没今天新增的记录。

   4.1 如果没有今天新增的记录,就把集合入库。

   4.2 如果有今天新增的记录,则把该记录的主键拿出来,根据主键把集合更新进去。


最后为了使用方便我做成了swing,只需要在eclipse里面导出成“Runnable JAR File”格式的就行了,注意Main函数的选择。完了之后双击运行即可。


查询代码:

import java.awt.Frame;import java.io.File;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Arrays;import java.util.Date;import javax.swing.JOptionPane;public class insertJar extends Frame{  static StringBuffer sb = new StringBuffer();  static Date dd = new Date();  static String mess = "";  public static void main(String[] args) throws SQLException, ParseException {    dd.setHours(1);    tree(new File("e:\\code"));    sort(sb);    inst(sb);    JOptionPane.showMessageDialog(null, mess, "执行结果", -1);    System.exit(0);  }  public static void tree(File f)  {    if (!f.isDirectory()) {      System.out.println("你输入的不是一个文件夹,请检查路径是否有误!!");    }    else {      File[] t = f.listFiles();      for (int i = 0; i < t.length; i++)      {        if ((t[i].isDirectory()) && (!t[i].isHidden()))        {          tree(t[i]);        }        else        {          File file = new File(t[i].getPath());          Date d = new Date(file.lastModified());          SimpleDateFormat sdf = new SimpleDateFormat("YYYY-MM-dd HH:mm:ss");          String s = t[i].getName();          String ss = sdf.format(d);          if ((d.getTime() > dd.getTime()) &&             (!".svn".equals(s)) && (            (s.lastIndexOf(".java") > -1) ||             (s.lastIndexOf(".js") > -1) ||             (s.lastIndexOf(".css") > -1) ||             (s.lastIndexOf(".jsp") > -1) ||             (s.lastIndexOf(".ftl") > -1)))          {            sb.append(s + "      " + ss + "\n");          }        }      }    }  }  public static void inst(StringBuffer sb) throws SQLException, ParseException  {    String url = "jdbc:mysql://192.168.0.166:3306/test?user=root&password=123456";    Connection con = DriverManager.getConnection(url);    String query = "select * from hanjun_01";    PreparedStatement ps = con.prepareStatement(query);    ResultSet rs = ps.executeQuery();    int zhujian = 0;    boolean isInst = true;    while (rs.next())    {      if (new Date(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(rs.getString(3)).getTime()).getTime() > dd.getTime()) {        isInst = false;        zhujian = rs.getInt(1);        break;      }    }    if (isInst) {      String insSql = "insert into hanjun_01(xiangxixinxi,chuangjianshijian) values(?,?)";      ps = con.prepareStatement(insSql);      ps.setString(1, sb.toString());      ps.setString(2, new SimpleDateFormat("YYYY-MM-dd HH:mm:ss").format(new Date()));      ps.executeUpdate();      mess = "插入成功";    }    else    {      String upSql = "update hanjun_01 set xiangxixinxi=?,chuangjianshijian=? where zhujian=?";      ps = con.prepareStatement(upSql);      ps.setString(1, sb.toString());      ps.setString(2, new SimpleDateFormat("YYYY-MM-dd HH:mm:ss").format(new Date()));      ps.setInt(3, zhujian);      ps.executeUpdate();      mess = "更新成功";    }    ps.close();    con.close();  }  public static void sort(StringBuffer sb) {    String[] s = sb.toString().split("\n");    Arrays.sort(s);    for (String string : s)      System.out.println(string);  }}


查询代码:

import java.awt.Frame;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.text.SimpleDateFormat;import java.util.Date;import javax.swing.JOptionPane;public class queryJar extends Frame{  public static void main(String[] args)    throws SQLException  {    run();  }  public static void run() throws SQLException {    String xinXi = "";    String shiJian = "";    String url = "jdbc:mysql://192.168.0.166:3306/test?user=root&password=123456";    Connection con = DriverManager.getConnection(url);    Date dd = new Date();    dd.setHours(1);    SimpleDateFormat sdf = new SimpleDateFormat("YYYY-MM-dd HH:mm:ss");    String sql = "select * from hanjun_01 where chuangjianshijian > ?";    PreparedStatement ps = con.prepareStatement(sql);    ps.setString(1, sdf.format(dd));    ResultSet rs = ps.executeQuery();    if (rs.next()) {      xinXi = rs.getString(2);      shiJian = rs.getString(3);      JOptionPane.showMessageDialog(null, xinXi, "今天修改的文件(创建时间:" + shiJian + ")", -1);    }    else {      JOptionPane.showMessageDialog(null, "无记录", "今天修改的文件", -1);    }    ps.close();    con.close();  }  public static String z(String s) {    int i = 40 - s.length() - 3;    for (int j = 0; j < i; j++) {      s = s + " ";    }    return s;  }}



0 0
原创粉丝点击