java实现文件监听(2)

30 篇文章 0 订阅

上一个文章监听文件时java自带的,本文的文件监听代码是apache第三方的文件监听。用此包需要引入第三方。通过类直接可以调用本代码的静态方法
代码如下:
package com.demo.filelistener;
import java.io.File;
import java.util.concurrent.TimeUnit;
import org.apache.commons.io.monitor.FileAlterationMonitor;
import org.apache.commons.io.monitor.FileAlterationObserver;
import android.os.Environment;

public class MonitorFile {
/* 文件 */
public static void monitorFile() {


if (Environment.MEDIA_MOUNTED.equals(Environment
.getExternalStorageState())) {
try {
String path = "文件路径";
File filPath = new File(path);
// 账单
if (!filPath.exists()) {
filPath.mkdirs();
}
new Thread() {
//监听事件
long t= TimeUnit.MILLISECONDS.toMillis(500);
String path = "文件路径";


public void run() {
try {
//文件观察者,第一个参数是文件路径,第二个是实现FileFilter的类。通过FileAlterationMonitor 类引用开启监听
FileAlterationObserver observer = new FileAlterationObserver(
new File(path), new FileFilterImpl());
FileAlterationMonitor monitor = new FileAlterationMonitor(
t,new FileAlterationObserver[] { observer });
monitor.start();
} catch (Exception e) {
e.printStackTrace();
}
}
}.start();


} catch (Exception e) {
e.printStackTrace();
}


}


}
}

demo2:
import java.io.File;
import java.io.FileFilter;
import android.content.Context;

public class FileFilterImpl implements FileFilter {
private Context context =GabelApplication.getInstance() ;


private SharepreferenceData sharepreferenceData = SharepreferenceData
.getInstance(context);
private byte[] lock = new byte[0];


@Override
public boolean accept(File pathname) {
//处理想要实现的代码
return false;
}

}

public class GabelApplication extends Application {
private static GabelApplication instance;
public static GabelApplication getInstance() {
if (instance == null) {
instance = new GabelApplication();
}
return instance;
}
@Override
public void onCreate() {
super.onCreate();
instance = this;
}

}


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值