Manipulating Files and the Registry
This chapter examines how to perform tasks involving reading from and writing to files and the system registry in C#. In particular, it covers the following:
- Exploring the directory structure, finding out what files and folders are present, and checking their properties
- Moving, copying, and deleting files and folders
- Reading and writing text in files
- Reading and writing keys in the registry
- Reading and writing to isolated storage
Microsoft has provided very intuitive object models covering these areas, and in this chapter, you learn how to use .NET base classes to perform the listed tasks. In the case of file system operations, the relevant classes are almost all found in the System.IO namespace, whereas registry operations are dealt with by classes in the Microsoft.Win32 namespace.
The .NET base classes also include a number of classes and interfaces in the System.Runtime.Serialization namespace concerned with serialization — that is, the process of converting data (for example, the contents of a document) into a stream of bytes for storage. This chapter does not focus on these classes; it focuses on the classes that give you direct access to files.
Note that security is particularly important when modifying files or registry entries. The whole area of security is covered separately in Chapter 20, “Security.” In this chapter, however, we assume that you have sufficient access rights to run all of the examples that modify files or ...