gpt4 book ai didi

java - 如何在 shell 脚本更新文件时监视 java 中的文件

转载 作者:行者123 更新时间:2023-11-30 04:44:31 25 4
gpt4 key购买 nike

我有一个将由 shell 脚本更新的日志文件。该 shell 脚本有许多操作,并在每次操作后更新文件,表示操作已完成。现在,我需要从 servlet 中“监听”该文件,并以与日志记录相同的方式将响应发送回最终用户(即操作 A 完成、操作 B 完成等)。现在,如果 servlet 和 shell 脚本尝试同时打开该文件,我确信会收到一些错误。在java中,我想我可以将它作为IOException处理并继续尝试读取文件,这样当shell脚本没有更新文件时它就可以工作。我应该如何在 shell 脚本中处理这个问题?如果我在java中以只读模式打开文件会有帮助吗?另请注意,shell 脚本只能写入,不能读取,而 servlet 只能读取,不能写入。

此外,欢迎就实现此工作流程的更好方法提出建议。

最佳答案

您使用的是 Java 7 吗?如果是这样,那么新的 Watcher 服务可能适合您。我个人没有使用过它,但想法是当文件/文件夹发生更改时,您会在代码中收到通知。这可能会使您的代码比简单地重复轮询文件更干净。

http://docs.oracle.com/javase/7/docs/api/java/nio/file/WatchService.html

关于java - 如何在 shell 脚本更新文件时监视 java 中的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11389089/

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