There are many approaches, one could use create a Program and just call the Unix tail
command, however the problem with this is that the process must be installed on a Unix machine with tail installed.
The other option is to just read the file, line by line until there are no more lines, sleep for a period of time and then try to read the next line and repeat.
The question is what/how do I go about polling a file which is actively being written to. AFAIK there is no way in Java to get async notifications when a file has been modified as this is too low level (something that comes from the OS). I am also aware of no libs which support this.
I was thinking a better approach may be to sleep/poll on the modified date of a file..?
Any solutions?
If you can use Java 7 there are File Watchers and you could implement what you need.
File Notifications
For Java 6 (and previous) you would have to use Apache Commons VFS (File Monitor) lib to create your own file watcher.
If you can't go to Java 7 or use third party libs (e.g commons or jnotify) you would have to write a file watchdog your self using polling threads.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With