First of all I'd say you shouldn't worry about the underlying structure, it's liable to change when we see fit. If you need to obtain the contents of a file, use the available Core methods.
However, for reference, the files are named according to their identifier and can be found in the deployment/data/files folder where they are placed in subfolders for every 1000 files.
Just one additional comment to add to the answers from Bas and Michel - you can set the location that the uploaded files are stored in the runtime configuration - UploadedFilesPath - see this. This means you could store the files, for example, on a SAN rather than in the deployment location.
the files are stored in <deployment>/data/files. The files are numbered without extension and stored in an (almost) flat directory, and should never be accessed from the file system directly. An entry with meta information is stored in database, and there you can find the filename etc. To access files, use the Mendix Core API.