Skip to Main Content
C# Cookbook, 2nd Edition
book

C# Cookbook, 2nd Edition

by Jay Hilyard, Stephen Teilhet
January 2006
Intermediate to advanced content levelIntermediate to advanced
1184 pages
43h 23m
English
O'Reilly Media, Inc.
Content preview from C# Cookbook, 2nd Edition
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 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

C# Cookbook

C# Cookbook

Joe Mayo
C# Cookbook

C# Cookbook

Stephen Teilhet, Jay Hilyard
Head First C#, 4th Edition

Head First C#, 4th Edition

Andrew Stellman, Jennifer Greene

Publisher Resources

ISBN: 0596100639Supplemental ContentCatalog PageErrata