java实现把每天修改过的文件名入库保存
2015-01-22 10:41
531 查看
每天写程序,改的代码比较多,改的文件也比较多,有时候第二天发现程序出bug了,但是忘记自己前一天修改的哪些文件甚是头疼,然后自己就写了一个能把每天修改过的文件名入库保存的程序。
这个程序实现的思路是:
1、指定一个扫描的文件下,一般是程序的文件夹。
2、指定扫描文件的扩展名。
3、得到每个文件的最后修改时间,并且判断是否是在当天修改的,是的话把文件名入库(或者是包括项目路径、包路径),然后保存在集合里。
4、查询表里面的数据,遍历每天数据看看有没今天新增的记录。
4.1 如果没有今天新增的记录,就把集合入库。
4.2 如果有今天新增的记录,则把该记录的主键拿出来,根据主键把集合更新进去。
最后为了使用方便我做成了swing,只需要在eclipse里面导出成“Runnable JAR File”格式的就行了,注意Main函数的选择。完了之后双击运行即可。
查询代码:
查询代码:
这个程序实现的思路是:
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; } }
相关文章推荐
- 文件名过滤器修改后缀名再复制保存的Java实现
- 文件名过滤器修改后缀名再复制保存的Java实现
- java实现从文件中读取信息保存在Map中,修改Map中的值,将Map更新到文件中
- Java实现的properties文件动态修改并自动保存工具类
- java实现从文件中读取信息保存在Map中,修改Map中的值,将Map 4000 更新到文件中
- java实现记事本基本功能:新建、打开、保存、另存为、退出、替换、全部替换、复制、剪切、粘贴、全选、获取当前时间日期、修改字体、颜色、自动换行等
- java基于Apache FTP实现文件上传、下载、修改文件名、删除
- java实现读取文件底下所有子文件名,并修改文件名
- Java实现简单修改文件名的方法分析
- 可以修改类结构的java HostSwap实现思想
- 地磅称量系统之(40) 实现称量管理界面上的添加、修改、删除、保存、取消按钮的代码
- 基于Mozilla Thunderbird的扩展开发(四)---修改Thunderbird源代码实现自动保存附件
- 只需简单操作 XP中实现文件名批量修改
- 【每天算法1】:用java 语言实现,输入一个数,就相应地输出的几维数组
- java Excel 工具(修改excel表格并保存)
- java修改文件名
- 用Java来批量修改文件夹下的文件名
- 修改FCKEditor实现将图片、文件等保存到数据库
- 修改FCKEditor实现将图片、文件等保存到数据库
- Java 遍历磁盘文件并将所有的文件名保存至文本