This chapter deals with the file system in four distinct ways. The first set of recipes looks at typical file interactions like:
Reading and writing.
Encoding methods for character data.
Selecting the correct way (based on usage) to access files via streams.
The second set looks at directory-or folder-based programming tasks such as file creation as well as renaming, deleting, and determining attributes. The third set deals with the parsing of paths and the use of temporary files and paths. The fourth set deals with more advanced topics in filesystem I/O, such as:
Asynchronous reads and writes.
Monitoring for certain file system actions.
Version information in files.
Using P/Invoke to perform file I/O.
The file-interactions section comes first since it sets the stage for many of the recipes in the temporary file and advanced sections. This is fundamental knowledge that will help you understand the other file I/O recipes and how to modify them for your purposes. The various file and directory I/O techniques are used throughout the more advanced examples to help show a couple of different ways to approach the problems you will encounter working with file system I/O.
Unless otherwise specified, you need the following
using statements in any program that uses snippets or methods from this chapter:
using System; using System.IO;
You need to display or manipulate a file's attributes ...