gpt4 book ai didi

java - JNotify 和 File Reader 相互冲突

转载 作者:行者123 更新时间:2023-11-30 11:52:52 26 4
gpt4 key购买 nike

我实现了 JNotify 以确定新文件何时到达特定目录,并且在文件到达时将文件名发送到另一个函数,如下所示:

    public class FileDetector {
MessageProcessor mp;
class Listener implements JNotifyListener {
public void fileCreated(int wd, String rootPath, String name) {
print("created " + rootPath + " : " + name);
mp.processMessage(rootPath + "\\" + name);
}
}
}

函数 mp.processMessage 尝试打开该文件,但我不断收到错误消息,提示该文件正在被另一个进程使用。但是,由于该文件刚刚创建,可能正在使用它的唯一其他进程是 JNotify。

我放置了几个打印语句,看起来函数 mp.processMessage 在监听器的打印函数之前被调用。除了将整个消息处理放在监听器类中之外,还有人建议我如何解决这个问题吗?

最佳答案

@Eile 我的想法是,一旦一个进程正在复制文件,您正在尝试读取它,100 毫秒的延迟将首先完成复制 n 然后您可以轻松读取文件。

关于java - JNotify 和 File Reader 相互冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6619541/

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