C# 程序检查路径是目录还是文件
简介
让我们学习如何编写 C# 程序来检查路径是目录还是文件。目录,也称为文件夹,是计算机上可以保存文件的地方。除了文件之外,目录还包含其他目录或快捷方式。
文件是驱动器上具有唯一标识符和目录路径的数据集合。当打开文件进行查看或写入时,它会转换为流。流只是遍历通信路由的字节序列。
文件与目录
文件是真实的数据文件,而目录是系统上逻辑文件放置的存储库。为了处理文件和目录,公共语言运行时 (CLR) 在 System.IO 命名空间中具有类 File、FileInfo、Directory 和 DirectoryInfo。
要在 C# 中处理目录,我们可以使用 Directory 或 DirectoryInfo。Directory 类是一个静态类,具有用于处理目录的静态函数。此类不能被继承。DirectoryInfo 实例提供有关特定目录的信息。
文件夹有一个文件类和一个文件信息类。File 类用于常见任务,例如复制、移动、重命名、创建、打开、删除和添加到单个文件。File 类还可用于获取和更改与文件创建、访问和写入相关的文件特征或 DateTime 信息。File 和 FileInfo 类具有相同的基本功能。
唯一的区别是 File 类具有用于处理文件的固有方法,而 FileInfo 类具有用于处理文件的实例方法。
Public static bool Exists (string? path); 用于检查文件或目录是否存在。这里的参数是 string? path。要检查的路径。它的返回类型是布尔值。此函数为布尔值的原因是,检查路径时只有两种结果。文件或目录存在或不存在,与函数的关键字非常相似。因此,如果目录或文件存在,则返回 true;如果不存在,或者在尝试访问地址时发生任何类型的错误(例如地址损坏等),则返回 false。
算法
下面的算法将逐步介绍编写程序来检查给定的路径是目录还是文件。
步骤 1 − 首先,我们必须声明一个字符串,其中包含我们要检查的地址,无论是文件还是目录
步骤 2 − 然后必须进行条件检查,我们使用方法 public static bool Exists (string? path); 来检查文件是否存在。
步骤 3 − 程序员可以完全决定他首先要检查什么。他是否想将路径检查为文件还是目录。
步骤 4 − 如果路径未通过两项检查,则输出为无效路径,并显示为消息。
示例
// 对于 File.Exists、Directory.Exists
using System;
using System.IO;
class ttpt {
static void Main() {
string PathCheck = "D:/ipl";
// 在这里我们检查输入路径是否为文件
if(File.Exists(PathCheck)) {
// 如果提供的路径为文件
Console.WriteLine("此路径上存在文件");
}
// 在这里我们检查输入的路径是否为目录
else if(Directory.Exists(PathCheck)) {
// 此输入路径为目录
Console.WriteLine("此路径上存在目录");
}
// 如果它无效,即它既不是目录也不是路径
else {
Console.WriteLine("{0} 无效。输入既不是文件也不是目录。", path);
}
}
}
输出
此路径上存在文件
上述代码用于检查提供的路径是否为文件。首先,在代码中,我们声明了一个字符串来存储地址,以检查它是文件还是目录。然后我们使用 public static bool Exists (string? path); ,它可以与 File 和 Directory 类一起使用,通过使用相应的类关键字来检查文件或目录是否存在。这可以通过使用条件检查来完成。如果想要进行批量检查,则可以通过创建一个类将地址数组作为参数传递。然后逐一检查它们。由于 public static bool Exists (string? path); 返回布尔值,这就是我们进行条件检查的原因。
在验证目录是否存在之前,会从路径参数的结论中删除尾随空格。
路径参数的大小写敏感性与代码正在执行的文件系统相关。例如,NTFS(通常的 Windows 文件系统)不区分大小写,而 Linux 文件系统区分大小写。
时间复杂度
在声明字符串后的算法中。 public static bool Exists (string? path); 方法是布尔返回方法。因为它直接对我们正在搜索的元素进行一次调用,所以该算法的时间复杂度为 O(1)。
结论
所以,我们已经到了文章的结尾,我们已经学习了如何检查提供的路径是目录还是文件。我们从文件和目录的定义开始,然后我们继续前进,看到了文件和目录之间的区别。然后我们理解了程序的算法,之后我们看到了检查路径的程序。我们希望本文能增强您对 C# 的了解。

