有効なファイル名かどうか判定するFunctionです。
サンプルFunction
例)有効なファイル名かどうか判定するFunction
/// <summary>
/// 有効なファイル名かどうか判定するFunction
/// </summary>
/// <param name="filename">対象文字列</param>
/// <returns>true:有効なファイル名 false:無効なファイル名</returns>
public static bool isValidFileName(string filename)
{
if (string.IsNullOrWhiteSpace(filename)) return false;
char[] target = System.IO.Path.GetInvalidFileNameChars();
return (filename.IndexOfAny(target) < 0);
}
実行例
結果はbool型(True/False)で返ります。
bool b = isValidFileName(@"sample.txt");
→True //有効なファイル名なのでTrueを返します。
bool b = isValidFileName(@"<sample>.txt");
→False //ファイル名に使用できない文字が含まれるのでFalseを返します。
bool b = isValidFileName(@"");
→False //ブランクはFalseを返します。
備考
- System.IO.Path.GetInvalidFileNameChars() にはファイル名に使用できない文字が41個定義されています。
- この定義を使用して有効なファイル名かどうかを判定しています。