Any file that can be read, can be read by any application. You cannot prevent that - because it would also prevent your application form being able to read it and that turns your hard drive into Write Only Memory.
What you can do is encrypt of obfuscate the file contents so that only your can understand the content once it is read. That's not difficult, but requires a good deal background reading in order to make it secure.
Start here:
http://msdn.microsoft.com/en-us/library/as0w18af(v=vs.110).aspx[
^] and follow the links. Then start thinking about exactly what you are trying to achieve and what best fits that.
In order to compress as well, you will need to use a package like zipsharp, or write your own:
http://en.wikipedia.org/wiki/Data_compression[
^] gives an overview of the various methods you might implement.