C#删除目录和目录下的所有文件
这里说四种方法:
方法1:直接删除法
DirectoryInfo di = new DirectoryInfo(string Path);
di.Delete(true);
注:path是你要删除的非空目录;
true:你要删除里面所有的文件,包括文件夹和子文件夹
方法2:层级删除法
/// <summary>
/// 删除非空文件夹
/// </summary>
/// <param name="path">要删除的文件夹目录</param>
void DeleteDirectory(string path)
{
DirectoryInfo dir = new DirectoryInfo(path);
if (dir.Exists)
{
DirectoryInfo[] childs = dir.GetDirectories();
foreach (DirectoryInfo child in childs)
{
child.Delete(true);
}
dir.Delete(true);
}
}
方法3: 递归方法(删除目录和文件)
private staticv oid DeleteDirectory(File tmpFile) {
if (!tmpFile.exists()) {
System.out.println("file is not exist!");
return;
}
if (tmpFile.isDirectory()) {
File[] fileList = tmpFile.listFiles();
for (int i =0; i < fileList.length; i++) {
if (fileList[i].isDirectory()) {
DeleteDirectorys(fileList[i]);s
}
}
}
}
/// <summary>
/// 删除非空文件夹
/// </summary>
/// <param name="path">要删除的文件夹目录</param>
void DeleteDirectory(string path)
{
DirectoryInfo dir = new DirectoryInfo(path);
if (dir.Exists)
{
DirectoryInfo[] childs = dir.GetDirectories();
foreach (DirectoryInfo child in childs)
{
child.Delete(true);
}
dir.Delete(true);
}
}
方法3: 递归方法(删除目录和文件)
private staticv oid DeleteDirectory(File tmpFile) {
if (!tmpFile.exists()) {
System.out.println("file is not exist!");
return;
}
if (tmpFile.isDirectory()) {
File[] fileList = tmpFile.listFiles();
for (int i =0; i < fileList.length; i++) {
if (fileList[i].isDirectory()) {
DeleteDirectorys(fileList[i]);s
}
}
}
}
方法4:递归删除法(删除目录和文件)
static void DeleteDirectory(string dir)
{
if (Directory.GetDirectories(dir).Length == 0 && Directory.GetFiles(dir).Length == 0)
{
Directory.Delete(dir);
return;
}
foreach (string var in Directory.GetDirectories(dir))
{
DeleteDirectory(var);
}
foreach (string var in Directory.GetFiles(dir))
{
File.Delete(var);
}
Directory.Delete(dir);
}
{
if (Directory.GetDirectories(dir).Length == 0 && Directory.GetFiles(dir).Length == 0)
{
Directory.Delete(dir);
return;
}
foreach (string var in Directory.GetDirectories(dir))
{
DeleteDirectory(var);
}
foreach (string var in Directory.GetFiles(dir))
{
File.Delete(var);
}
Directory.Delete(dir);
}

浙公网安备 33010602011771号