An entity is just defined by its own object. For instance, I can't guarantee this since I haven't looked at Minecraft's source code, but I'll bet you that the creeper has its own class. Its just an object.
You can save that object using serialization. Check the java.io package of Object I/O streams.
I don't know how Notch designed his implementation with block data, but it has to be either a serialized object or just bytes/number values written to a file that the program parses.
It's all up to YOU how you want to implement the saving and loading of data. There are tons of methods to doing so. You can come up with your own file format if you want...