您的位置:首页 > 编程语言 > Java开发

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

2015-01-22 10:41 531 查看
每天写程序,改的代码比较多,改的文件也比较多,有时候第二天发现程序出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;
  }
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐