I prefer to use TFilestreams, when working with files. Gives you more control of the data, and works really well with dynamic arrays, and TMemoryStreams