java提示监听类错误怎么改_java 监听文件修改 | 学步园

在网上找了很多有关java监听文件修改的资料,很多都做得太复杂了;而且用到本地都有问题。这里自己写一个简单的监听文件修改的方法,代码如下:

package com.yunho.rule;

import java.text.SimpleDateFormat;

import java.util.*;

import java.io.File;

import java.io.IOException;

public class FileListener{

/**

* A facility for threads to schedule tasks for future execution in a background thread.

* Tasks may be scheduled for one-time execution, or for repeated execution at regular intervals.

* */

private Timer timer;

/**

* current time

* */

private long currentTime=-1;

/**

* last Modified Time

* */

private long lastModifiedTime=-1;

/**

* 分钟

* */

private long times=1;

/**

* time

* */

private long pollingInterval=1000 * times;

/**

* file path

* */

private String filePath="src/com/yunho/rule/rule.xml";

public FileListener() {

File file=new File(filePath);

lastModifiedTime=file.lastModified();

currentTime=lastModifiedTime;

}

public static void main(String[] args) {

FileListener fileListener=new FileListener();

fileListener.timer = new Timer(true);

fileListener.start();

}

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 (IOException 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) {

System.out.println(" File [ " + file.getName() + " ] changed At: "

+ new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS").format(lastModifiedTime));

currentTime = lastModifiedTime;

}

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值