Actually, I plan to use the file that is outputted as flashcard sets. Meaning it should contain all the information as the original jpegs and also on how to display them. This way, I won't have to distribute (to my friends) hundreds of jpeg files which could get moved, deleted, etc. This is why I wanted to stream the contents of the jpeg file into an array, and then save the array to a file.ext. I didn't realize you couldn't serialize streams :p So I guess I would have to dump the data into a byte array. You're right, it does sound a little clunky. I was thinking of using zip files, but then they wouldn't necesarrily come out in the right pairs (front and back.) This is the only other option I could think of. Thanks for your input :)