App Engine has a number of security restrictions that it imposes on applications. One that is often cited as a major source of frustration is the inability to read/write to a local file system. It looks like the developer community may have developed a workaround.

Kyle Roche sent me a link to a GaeVFS, a distributed, writeable virtual file system for Google App Engine Java. It doesn't actually use the local file system but simulates it using the datastore and memcache.

"GaeVFS is an Apache Commons VFS plug-in that implements a distributed, writeable virtual file system for Google App Engine (GAE) for Java. GaeVFS is implemented using the GAE datastore and memcache APIs. The primary goal of GaeVFS is to provide a portability layer that allows you to write application code to access the file system--both reads and writes--that runs unmodified in either GAE or non-GAE servlet environments."

I'm not sure if we have enough time to get this added to our book but it may be interesting.