System.IO.File.Delete 方法

方法描述

删除指定的文件。

语法定义(C# System.IO.File.Delete 方法 的用法)

public static void Delete(
	string path
)

参数/返回值

参数值/返回值 参数类型/返回类型 参数描述/返回描述
path System-String 要删除的文件的名称。该指令不支持通配符。
返回值 void

提示和注释

为 path 参数指定包含任何相对或绝对路径信息的文件名。 不能包含通配符字符。 相对路径信息被解释为相对于当前工作目录。 若要获取当前工作目录,请参见 GetCurrentDirectory。

如果要删除的文件不存在,则不引发任何异常。

有关通用 I/O 任务的列表,请参见通用 I/O 任务。

Windows NT 4.0 平台说明: Delete 不删除为正常 I/O 打开的文件或已在内存中映射的文件。

System.IO.File.Delete 方法例子

下面的示例将文件组复制到 C:\archives\2008 备份文件夹,然后将它们从源文件夹删除。

string sourceDir = @"c:\current";
string backupDir = @"c:\archives\2008";

try
{
    string[] picList = Directory.GetFiles(sourceDir, "*.jpg");
    string[] txtList = Directory.GetFiles(sourceDir, "*.txt");

    // Copy picture files.
    foreach (string f in picList)
    {
        // Remove path from the file name.
        string fName = f.Substring(sourceDir.Length + 1);

        // Use the Path.Combine method to safely append the file name to the path.
        // Will overwrite if the destination file already exists.
        File.Copy(Path.Combine(sourceDir, fName), Path.Combine(backupDir, fName), true);
    }

    // Copy text files.
    foreach (string f in txtList)
    {

        // Remove path from the file name.
        string fName = f.Substring(sourceDir.Length + 1);

        try
        {
            // Will not overwrite if the destination file already exists.
            File.Copy(Path.Combine(sourceDir, fName), Path.Combine(backupDir, fName));
        }

        // Catch exception if the file was already copied.
        catch (IOException copyError)
        {
            Console.WriteLine(copyError.Message);
        }
    }

    // Delete source files that were copied.
    foreach (string f in txtList)
    {
        File.Delete(f);
    }
    foreach (string f in picList)
    {
        File.Delete(f);
    }
}

catch (DirectoryNotFoundException dirNotFound)
{
    Console.WriteLine(dirNotFound.Message);
}

异常

异常 异常描述
ArgumentException path 是一个零长度字符串,仅包含空白或者包含一个或多个由 InvalidPathChars 定义的无效字符。
ArgumentNullException path 为 null。
DirectoryNotFoundException 指定的路径无效(例如,它位于未映射的驱动器上)。
IOException
  • 指定的文件正在使用中。
  • 对于文件有打开句柄,并且操作系统是 Windows XP 或更早版本。 此打开句柄可能是由于枚举目录和文件导致的。 有关更多信息,请参见 如何:枚举目录和文件。
NotSupportedException path 的格式无效。
PathTooLongException 指定的路径、文件名或者两者都超出了系统定义的最大长度。 例如,在基于 Windows 的平台上,路径必须小于 248 个字符,文件名必须小于 260 个字符。
UnauthorizedAccessException
  • 调用方没有所要求的权限。
  • path 是一个目录。
  • path 指定一个只读文件。

命名空间

namespace: System.IO

程序集: mscorlib(在 mscorlib.dll 中)

版本信息

.NET Framework 受以下版本支持:4、3.5、3.0、2.0、1.1、1.0 .NET Framework Client Profile 受以下版本支持:4、3.5 SP1

适用平台

Windows 7, Windows Vista SP1 或更高版本, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008(不支持服务器核心), Windows Server 2008 R2(支持 SP1 或更高版本的服务器核心), Windows Server 2003 SP2 .NET Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求。