I learned years and years ago that you absolutely must clear the bytes in a file block before saving it to disk. If you don’t then sooner or later you’ll have a customer complain that your application revealed company secrets! This happens because they deleted the file with the salesmen bonuses in it and then the operating system hands your unsuspecting program the same file blocks without clearing them and then … well you get the idea.
While I hadn’t forgotten that design rule I seem to have forgotten until reminded today that if you should avoid certain byte values in file encoding. Why? Because if you use vertical tab or linefeed in the file encoding then when the customer prints the binary file to the line printer the printer consumes an entire box of paper. I wonder if the Java byte code takes that rule to heart?
While I don’t know the analogous rules are for files headed for the laser printer; but somebody around here has got a file that breaks them.