Maybe I was unclear in my earlier comment. The best way of implementing file handling is likely some full full-featured filesystem under the hood. My point is that this can be abstracted away to something more user friendly than a tree containing hundreds or thousands of folders and files. Transfer off a device obviously needs to be considered, but exposing a device (e.g a USB drive) as a hierarchical filesystem is usually unneccessary (and, IMO, counter productive from a usability standpoint).