C#中文件名或文件路径非法字符判断方法

当我们在使用C#编程的时候,经常会遇到需要判断文件名或文件路径是否包含非法字符的情况。本文将介绍C#中文件名或文件路径非法字符的判断方法。

判断非法字符的常规方法

C#中提供了一种常规的方法来判断文件名或文件路径是否包含非法字符:

var illegalChars = System.IO.Path.GetInvalidFileNameChars();
bool isInValidChars = false;
foreach (char c in illegalChars)
{
    if (fileName.Contains(c.ToString()))
    {
        isInValidChars = true;
        break;
    }
}
if (isInValidChars)
{
    // do something when the filename contains illegal characters
}
else
{
    // do something when the filename does not contain illegal characters
}

上述代码中,我们首先通过System.IO.Path.GetInvalidFileNameChars()方法获取了系统中被认为是非法的文件名字符,并将其存储在一个数组中。然后我们遍历该数组,检查文件名是否包含任一个此数组中的字符。如果包含,我们设isInValidChars状态为true。最后,如果isInValidChars状态为true,则表明文件名包含非法字符,需要进行相应处理,否则则说明文件名合法。

使用正则表达式进行判断

另一种判断文件名或文件路径合法性的方法是使用正则表达式。我们可以通过使用Regex.IsMatch()方法,然后传递对应的正则表达式来匹配文件名或文件路径是否合法。以下是通过正则表达式判断文件名或文件路径是否合法的示例代码:

string fileName = "file*name.txt";
string pattern = @"([\<\>\:\\\\\/\?\*\|\""]|\.)";
if (Regex.IsMatch(fileName, pattern))
{
    // 文件名中包含非法字符
}
else
{
    // 文件名合法
}

上述代码使用了一个正则表达式([\<\>\:\\\\\/\?\*\|\""]|\.)。该正则表达式可以匹配所有被认为是非法的字符,包括尖括号、冒号、反斜杠、问号、星号、竖杠、双引号等等。

总结

通过上述两个示例,我们了解了两种判断文件名或文件路径是否合法的方法。判断文件名或文件路径是否包含非法字符,我们可以使用常规方法或是正则表达式。选择其中一种方法即可,根据实际需要来定。无论用哪种方法,都应该保证能够正确判断非法字符,以确保文件的正常使用。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#中文件名或文件路径非法字符判断方法 - Python技术站

(0)
上一篇 2023年6月1日
下一篇 2023年6月1日

相关文章

  • C#实现写系统日志的方法

    首先,我们需要了解什么是系统日志。 系统日志(Syslog) 是一种由大多数操作系统和一些网络设备所产生和使用的标准化的日志记录方式,通常用于记录系统事件以及系统性能数据等,以便于系统管理员进行故障诊断和维护工作。 在 C# 中,我们可以通过 System.Diagnostics 命名空间下的 EventLog 类来记录系统日志。 以下是实现 C# 写系统日…

    C# 2023年5月15日
    00
  • asp.net 2.0里也可以用JSON的使用方法

    ASP.NET 2.0是一个非常流行的.NET开发框架,它可以与JSON(JavaScript Object Notation)结合使用以进行数据交换。下面是使用JSON的方法的完整攻略: 1. 引入JavaScriptSerializer .NET Framework 2.0引入了JavaScriptSerializer类,可以使用它来序列化和反序列化.N…

    C# 2023年5月31日
    00
  • Linq中ToList()和CopyToDataTable()用法详解

    Linq中ToList()和CopyToDataTable()用法详解 在使用Linq进行数据查询时,我们经常需要将结果转换成List或DataTable类型以便于读取或处理。这时就可以使用Linq提供的ToList()和CopyToDataTable()方法。 ToList()方法 ToList()方法可以将查询结果转换为List集合类型,方便后续的操作。…

    C# 2023年5月15日
    00
  • ASP.NET Core实现文件上传和下载

    一、ASP.NET Core实现文件上传的完整攻略 设置文件上传的API接口 要实现文件上传,首先需要在ASP.NET Core的API接口中设置文件上传的路由路径和它所用的http请求方式。例如,下面的代码演示了如何在API接口中设置文件上传的路由路径和它所用的http请求方式。 [HttpPost] [Route("api/uploadfile…

    C# 2023年6月3日
    00
  • C# 基础入门–关键字

    C# 基础入门–关键字 本篇文章将详细讲解C#中的关键字,包括其含义、使用方法以及示例说明。 什么是关键字 在C#中,关键字是一些特殊的单词,具有特定的含义和用途。这些关键字在程序中有特殊的语法和语义,不能被用作标识符或其他用途。 常用关键字 1. public public关键字表示公共的访问级别,用于修饰类、方法、属性和字段。使用public修饰的成员…

    C# 2023年6月7日
    00
  • ASP.NET Core中自定义路由约束的实现

    ASP.NET Core中自定义路由约束的实现 在 ASP.NET Core 中,路由约束是一种用于限制路由匹配的机制。默认情况下,ASP.NET Core 提供了一些常见的路由约束,例如正则表达式约束和长度约束。但是,有时候我们需要自定义路由约束来满足特定的需求。在本攻略中,我们将介绍 ASP.NET Core 中自定义路由约束的实现,包括如何创建和使用自…

    C# 2023年5月17日
    00
  • c#操作sql server2008 的界面实例代码

    下面我将为你详细讲解“C#操作SQL Server 2008的界面实例代码”的完整攻略。 界面设计 首先需要设计一个界面,使用Visual Studio编写WinForm应用程序,并添加相应的控件。 界面示例代码: <form> <button name="btnInsert" text="插入" /…

    C# 2023年5月31日
    00
  • C# winfrom 模拟ftp文件管理实现代码

    为实现C# WinForm中FTP文件管理,需要通过FTP协议连接到FTP服务器,并进行文件的上传、下载、删除和重命名等操作。这里提供一份完整攻略,包括相关API的使用和示例代码的实现。 连接FTP服务器 C# WinForm最常使用的.NET类库是System.Net,其中有一个FtpWebRequest类可以用于创建FTP请求,实现对FTP服务器的连接。…

    C# 2023年6月1日
    00
合作推广
合作推广
分享本页
返回顶部