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 − 如果路径未通过两个检查,则输出将显示为无效路径,并将其作为消息显示。
示例
// For File.Exists, Directory.Exists
using System;
using System.IO;
class ttpt {
static void Main() {
string PathCheck = “D:/ipl”;
// Here we check that the input path is a file
if(File.Exists(PathCheck)) {
// If the path provided is a file
Console.WriteLine(“A file exists on this path”);
}
// Here we check if the path as input is a directory
else if(Directory.Exists(PathCheck)) {
// This input path is a directory
Console.WriteLine(“A directory exists on this path”);
}
// If it is invalid i.e., it is neither directory nor a path
else {
Console.WriteLine("{0} is invalid. The input is neither a file nor a directory.", path);
}
}
}
输出
A file exists on this path
上面提到的代码用于检查提供的路径是否为文件。在代码中,首先,我们声明了一个字符串来存储地址,以检查它是否为文件或目录。然后我们使用 public static bool Exists (string? path); 它可以与 File 和 Directory 类一起使用,通过使用相应的类关键字来检查文件或目录的存在。这可以通过使用条件检查来完成。如果用户想要进行批量检查,则可以通过创建类将地址数组作为参数传递。然后逐个检查它们。由于 public static bool Exists (string? path); 返回一个布尔值,因此我们正在进行条件检查。
在验证目录是否存在之前,会从路径参数的结尾删除尾随空格。
path 参数的大小写敏感性与代码正在执行的文件系统相关。例如,NTFS(常用的 Windows 文件系统)不区分大小写,而 Linux 文件系统区分大小写。
时间复杂度
在算法中,声明字符串之后。public static bool Exists (string? path); 方法是一个返回布尔值的函数。因为它直接对我们正在搜索的元素进行单次调用,所以算法的时间复杂度为 O(1)。
结论
因此,我们已经到达了本文的结尾,并且我们已经学习了如何检查提供的路径是目录还是文件。我们从文件和目录的定义开始,然后我们继续并了解了文件和目录之间的区别。然后我们了解了程序的算法,然后我们看到了检查路径的程序。我们希望本文能增强您对 C# 的了解。
数据结构
网络
关系数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP