比较二个文件的最后修改时间FileListener

import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Timer;
import java.util.TimerTask;

public class FileListener {
    public static void main(String[] args) {
        FileListener fileListener = new FileListener();
        fileListener.timer = new Timer(true);
        fileListener.start();
    }

    private Timer timer;

    private long currentTime = -1;

    private long lastModifiedTime = -1;

    private long times = 1;

    private long pollingInterval = 1000 * times;

    private String filePath = "c:\\test.txt";

    public FileListener() {
        File file = new File(filePath);
        lastModifiedTime = file.lastModified();
        currentTime = lastModifiedTime;
    }

    public void start() {
        timer.schedule(new FileMonitor(), 0, pollingInterval);

        while (true) {
            try {
                int ch = System.in.read();
                System.out.println("ch=" + ch);
                if (ch - ‘c‘ == 0) {
                    System.out.println("quit");
                    timer.cancel();
                    break;
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }

    private class FileMonitor extends TimerTask {
        public void run() {
            File file = new File(filePath);
            lastModifiedTime = file.exists() ? file.lastModified() : -1;
            if (currentTime != lastModifiedTime) {//1439540671443
                String string = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS")
                        .format(lastModifiedTime);//1439540994156
                System.out.println("File changed At:" + string);
                currentTime = lastModifiedTime;
            }
        }
    }

}
时间: 2024-11-08 21:44:22

比较二个文件的最后修改时间FileListener的相关文章

返回某个时间之后修改过的文件列表及修改时间

做项目的时候,经常会给现场打补丁,一段时间之后,就想把这一段时间出的补丁包(假如每两天出一个补丁包)给重新合一遍,合一个新的补丁包出来.但是怎么检验合的补丁包有没有问题呢,那就得把这一段时间修改过的文件重新合一个补丁包出来.要查找近一段时间修改过的文件,不是件容易的事情,得挨个的去查看文件的最后修改时间,比较费时,费力.今天写的这个小玩意,就是把某一个时间点之后的修改过的文件,都搜集出来,输出来. import java.io.File; import java.sql.Date; import

delphi 获取文件的最新修改时间 http://www.delphitop.com/html/wenjian/64.html

delphi 获取文件的最新修改时间 作者:admin 来源:未知 日期:2010/1/28 13:15:22 人气:1054 标签: QQ空间新浪微博腾讯微博腾讯朋友QQ收藏百度空间百度贴吧更多0 delphi 获取文件的最新修改时间 varDateTime: TDateTime;beginFileAge('C:\Windows\Notepad.exe', DateTime);ShowMessage(DateTimeToStr(DateTime));end;

delphi获取文件的创建/修改时间、按时间删除指定文件下的文件

uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls,DateUtils; ... //获取文件的创建时间 function GetFileCreationTime(const FileName: String): TDateTime; var FileTime: TFileTime; LocalFileTime: TFileTime; hFile: TH

如何用golang获取linux上文件的创建/修改时间

在linux上想获取文件的元信息,我们需要使用系统调用lstat或者stat. 在golang的os包里已经把stat封装成了Stat函数,使用它比使用syscall要方便不少. 这是os.Stat的原型: func Stat(name string) (FileInfo, error) Stat returns a FileInfo describing the named file. If there is an error, it will be of type *PathError. 返

python笨办法解决zipfile解压会改变文件最后修改时间的问题

# -*- coding=gbk -*- import zipfile def UnZip(path, patht):     #path 为需要解压的文件路径,patht为解压的目标目录     f = zipfile.ZipFile(path, 'r')     print "开始解压文件..."     for file in f.namelist():         print "正在解压文件:%s to %s" %(file, patht)       

saltstack在解压zip文件时保留原始修改时间的方法

saltstack在使用archive.unzip功能时,会将压缩包中文件的"修改时间"替换为当前解压的系统时间,为了能够保留文件原来的"修改时间",需要对salt-manion的源码中archive.py文件的unzip方法进行修改: 文件位置: windows    C:/salt/bin/Lib/site-packages/salt/modules/archive.py linux:  /user/lib/python2.7/site-packages/sal

定时删除文件夹"$1"下最后修改时间大于当前时间"$2"天的文件

shell 脚本: #!/bin/bash now=`date "+%Y-%m-%d_%H:%M:%S"`      #获取当前时间 echo "当前时间: "$now now=`date +%s`            #获取当前时间戳   单位:秒 echo "当前时间戳: "$now function getdir(){          #遍历文件夹和文件夹下所有的文件 #    echo "删除文件夹"$1"

linux文件的三种时间

我个人的linux系统使用的是ubuntu 一.linux的文件时间分为三种: 1).文件最近内容修改时间--mtime 2).文件最近权限和属性修改时间--ctime 3).文件最近被访问时间--atime 二. 打开vm,运行linux系统,在工作目录底使用touch命令创建一个文件,如图: 测试当前系统时间 使用$date 命令 如图: 同时说一下,系统的时间更改 $ date -d YY/mm/dd  更改系统的日期 $ date -s HH:mm:ss  更改系统的时间 可能会报错,如

Linux入门篇(二)——文件

这一系列的Linux入门都是本人在<鸟哥的Linux私房菜>的基础上总结的基本内容,主要是记录下自己的学习过程,也方便大家简要的了解 Linux Distribution是Ubuntu而不是书本上推荐的CentOS,建议装双系统,不要使用虚拟机. 代码在github上:Linuxpractice 其他内容: Linux文件 一.Linux的文件权限与目录配置 Linux提供了多用户,多任务环境操作的实现: 文件可存取访问的身份:owner,group,other: 权限:read,write,