gpt4 book ai didi

java - Java(Android)中的FileObserver多次触发

转载 作者:行者123 更新时间:2023-12-02 00:23:28 25 4
gpt4 key购买 nike

我已经在文件夹上实现了一个文件观察器,用于观察创建和删除,如下所示:

private FileObserver getFileObserverListener(String filepath, String fileType) {
return new FileObserver(filepath) {
@Override
public void onEvent(int i, @Nullable String s) {
if ((FileObserver.CREATE & i) != 0 || (FileObserver.DELETE & i) != 0) {
refreshFolderData(filepath, fileType);
}
}
};
}

但是当我在一个批处理中创建/删除多个文件时,每个删除/创建操作都会触发文件观察器。有办法避免这种情况吗?更具体地说,是否有一种方法可以针对特定文件夹中的一批创建/删除操作恰好触发一次文件观察器?

最佳答案

如果您在删除所有文件后要关闭流。您可以使用此事件

CLOSE_WRITE

你的代码将是这样的。

private FileObserver getFileObserverListener(String filepath, String fileType) {
return new FileObserver(filepath) {
@Override
public void onEvent(int i, @Nullable String s) {
if (event == CLOSE_WRITE) {
refreshFolderData(filepath, fileType);
}
}
};
}

关于java - Java(Android)中的FileObserver多次触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58069216/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com