Yes, and no, and "kind of".
In the context of a Chrome app it's possible with chrome.fileSystem
API.
In the context of a Chrome extension it's not possible to gain access to an existing file.
However, not all hope is lost. You can maintain a sandboxed read/write filesystem using HTML5's fileSystem API, and if you need to export a file for the user, you can get the browser to "download" it.
You may want to declare unlimitedStorage
permission if you have potential to go over 5Mb.
See this question for exporting the file to the user: Chrome Extension write to file system
Edit: Switching to a packaged app model means a shift in how your GUI works. If you cannot live without extension-only UI elements (like browser actions), there are two possible approaches:
- Have an app AND an extension talking to each other through
onMessageExternal
- Have an extension and a Native Host talking through Native Messaging.
Big Hammer Warning, these methods are last resort ones that lead to complications if you want to widely distribute your extension and not writing it for yourself or in-house use.