If you are comfortable with C/C++ then you should use ReadDirectoryChangesW(). FileSystemWatcher is a thin wrapper around this API function. But undeniably easier to get going. Sample SDK code is available here.
The usual problem with FSW/RDC is that you can't access the file when you get a notification because the app that's writing the file has a lock on it. You'd need a thread-safe queue to store notifications, emptied by another thread that periodically tries to perform the required operation. This is also a healthy approach when processing the notifications, you'll want to spend as little time as possible to avoid having to create large notification buffers. They are an expensive system resource.