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
- java实现把每天修改过的文件名入库保存
- 文件名过滤器修改后缀名再复制保存的Java实现
- Java实现批量修改文件名
- 把每天都过成最好的一天
- Java代码实现文件名批量修改
- 分享一个修改过的Sha1加密算法的Java实现
- 修改百度输入法截图保存的默认文件名
- 怎么把GPUImageFIlter处理过的图像保存成UIImage
- SESSION入库的实现
- SESSION入库的实现
- 利用Powershell 实现文件名的批量修改!
- java通过filter实现操作日志入库的实现
- 把图片保存到数据库的实现
- 把图片保存到数据库的实现
- 把图片保存到数据库的实现
- Java:实现商品的查找、添加、出库、入库
- Java程序修改文件名
- java修改文件名
- Xcode 快捷键
- 线性表
- 关于程序员:无BUG不生活
- C语言核心技术
- 进济州岛赌 场被受外国人喜好。。。生意空前火爆
- java实现把每天修改过的文件名入库保存
- ubuntu 搭建SVN服务
- poj3252--Round Numbers(组合篇1--求1到n内的二进制数中0的个数大于1的个数)
- CListBox使用
- 每日一题之找出水洼个数
- 疑问 <meta http-equiv="charset" content="utf-8">和 <meta charset="UTF-8">的区别?
- java 获取oracle存储过程返回类型为cursor的方法
- gradle复习(6)-深入Jacoco
- 留学生租房网站6apt,想要成为海外的“自如”公寓