
This is the Title of the Book, eMatter Edition
Copyright © 2007 O’Reilly & Associates, Inc. All rights reserved.
718
|
Chapter 12: Filesystem I/O
12.17 Verifying a Path
Problem
You have a path—possibly entered by the user—and you need to verify that it has no
illegal characters and that a filename and extension have been provided.
Solution
We use several of the static fields and methods in the Path class. We begin by writ-
ing a method called
CheckUserEnteredPath, as shown in Example 12-5. It accepts a
string containing a path entered by the user and a Boolean value to decide whether
we want to find all illegal characters or just the occurrence of any illegal character.
Just finding any illegal character is much faster if you don’t care which illegal charac-
ters are present. This method first calls another method, either
FindAnyIllegalChars
or FindAllIllegalChars, each of which are described later in the Solution. If there are
no illegal characters in this path, it is then checked for the presence of a filename and
extension.
Example 12-5. CheckUserEnteredPath method
public static bool CheckUserEnteredPath(string path, bool any)
{
try
{
Console.WriteLine("Checking path {0}",path);
// Verify that the path parameter is not null.
if (path == null)
{
throw (new ArgumentNullException("path",
"The path passed in cannot be null"));
}
bool illegal = false;
List<char> invalidChars = new List<char>( );
// Two ...