C# 删除空目录和非空目录的程序

PHPz
发布: 2023-08-29 12:57:02
转载
1490 人浏览过

C# 删除空目录和非空目录的程序

简介

在计算机上,我们可以将文件存储在目录中,也称为文件夹。目录还包含其他目录和文件的快捷方式。在这里,我们将讨论删除空目录和非空目录的 C# 程序。名为 Directory 的静态类提供了处理目录的静态方法。 DirectoryInfo 对象提供特定目录的详细信息。

删除空和非空目录

现在我们有了一个目录(无论是否为空),我们必须删除它。空目录表示该目录中不存在任何文件或子目录。目录可以被认为是文件和子目录的分组;它可能包含也可能不包含数据。包含文件或其他目录的目录称为非空目录。使用Directory类的Delete()方法,我们可以删除目录。该方法有两种重载方式 -

  • 删除(字符串)

  • 删除(字符串,布尔值)

删除(字符串)

此方法包含在目录类中。该技术用于删除空目录。此方法从定义的地址或位置删除目录。

public static void Delete (string DirLocation); 
登录后复制

其中 DirLocation 是已提供且我们要删除的目录的地址,该参数的类型是字符串。现在,执行此命令后可能会发生一些错误。

当 DirLocation 指定的同名同地址文件已存在时,抛出 IO 异常。或者,子文件夹是只读的。未经授权的访问异常是可能发生的另一种类型的错误。如果调用者不具备所需的权限,则会抛出此异常。 Argument Null Exception 当 DirLocation 为空时发生,将抛出此错误。 Path Too Long Exception 是另一个可能发生的错误,当给定的 DirLocation、文件名或两者都超过系统定义的最大长度时,就会出现此异常。如果 DirLocation 丢失或无法找到,则会出现“目录未找到”异常。或者指示的路线是错误的。

算法

下面的算法将逐步给出编写删除目录的程序的过程。在这个算法中,我们将使用Delete(String)方法。

例如,我们将考虑一个名为“csk”的空目录。现在,我们将使用Delete(String)方法并删除“csk”目录。

第 1 步 - 我们将使用 Directory.delete 方法通过传递目录地址来删除目录。

第 2 步 − 通过使用 Console.Writeline() 我们写入目录的删除已完成。

示例

// A C# program which goes on given address and deletes the empty directory
// Using Delete(string) method
using System;
using System.IO;
class TutPoint {
   static void Main(){

      // Deleting the empty directory by using the Delete() method
      Directory.Delete("D:/csk");
      Console.WriteLine("Deleted");
   }
}
登录后复制

输出

Deleted
登录后复制
登录后复制

删除(字符串,布尔值)

此方法也包含在 Directory 类中。使用此技术将删除指定的目录以及该目录中的任何子目录和文件(如果指定)。

public static void Delete (string DirLocation, bool recursive); 
登录后复制

此技术用于删除指定的目录以及其中包含的任何子目录和文件。现在,执行此命令后可能会发生一些错误。

当 DirLocation 指定的同名同地址文件已存在时,抛出 IO 异常。或者,子文件夹是只读的。未经授权的访问异常是可能发生的另一种类型的错误。如果调用者不具备所需的权限,则会抛出此异常。 Argument Null Exception 当 DirLocation 为空时发生,将抛出此错误。

路径太长异常是另一个错误,当给定的 DirLocation、文件名或两者都超过系统中设置的最大长度时,就会出现此异常。如果 DirLocation 丢失或无法找到,则会出现“目录未找到”异常。或者指示的路线是错误的。

算法

下面的算法将逐步给出编写删除目录的程序的过程。在此算法中,我们将使用Delete(String, Boolean)方法。

例如,我们将考虑在 D 盘中有一个名为“csk”的非空目录,其中包含一个名为“msd”的文件。现在,我们将使用Delete(String, Boolean)方法并删除“csk”目录。

第 1 步 我们将使用 Directory.delete(String, Boolean) 方法通过传递目录地址来删除目录。

第 2 步  这里 true 是在检查子目录是否存在时传递的布尔值。

第 3 步 − 通过使用 Console.Writeline() 我们写入目录的删除已完成。

示例

// A C# program which goes on given address and deletes the non empty directory

// Using Delete(string) method
using System;
using System.IO;
class TutPoint {
   static void Main() {

      // Deleting the non-empty directory by using the Delete() method
      Directory.Delete("D:/csk",true);
      Console.WriteLine("Deleted");
   }
}
登录后复制

输出

Deleted
登录后复制
登录后复制

时间复杂度

在算法中,我们使用 Directory 类的单个函数。这里,Delete(String) 的时间复杂度将为 O(1),Delete(String, Boolean) 的时间复杂度也将为 O(1)。

结论

我们广泛讨论了删除空目录和非空目录的 C# 程序。首先,我们讨论了目录的定义及其使用。然后我们讨论了用两种不同的方式删除目录。最后,我们看到了算法和示例代码。我们希望本文能够帮助您增强有关 C# 的知识。

以上是C# 删除空目录和非空目录的程序的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:tutorialspoint.com
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板