Check for zero byte state files.

The read method did not handle zero byte files and would attempt to read the file. This now will overwrite the values should the file be empty. Fixes issue #430.