Presenting the File Tracker
This project goal is to track changes in files and manage those changes as a byte array in asynchronous way using Akka actors and Java NIO library. This is done by registering directory for the WatchService and filtering the files using PathMatcher . For each change in the file the requester will receive the byte array reflecting that change. Currently this project supports only addition to file, i.e deletion of characters in file is not supported. The Complete Source Code can be found here Let's dive in. The Ingredients : FileSyncIo . This part is copied from the FileAsyncIo project with some adjustments, and it is very handy for reading files asynchronously. In order to read the file we use Java NIO AsynchronousFileChannel . Since we are only reading the file, we open the channel with the Read option. The AsynchronousFileChannel.read method accepts buffer, the start position and a handler : val p ...