File.Delete(String) 메서드

정의

지정한 파일을 삭제합니다.Deletes the specified file.

public:
 static void Delete(System::String ^ path);
public static void Delete (string path);
static member Delete : string -> unit
Public Shared Sub Delete (path As String)

매개 변수

path
String

삭제할 파일의 이름입니다.The name of the file to be deleted. 와일드카드 문자는 지원되지 않습니다.Wildcard characters are not supported.

예외

path가 빈 문자열이거나 공백만 포함하거나 InvalidPathChars로 정의된 하나 이상의 잘못된 문자를 포함합니다.path is a zero-length string, contains only white space, or contains one or more invalid characters as defined by InvalidPathChars.

pathnull인 경우path is null.

지정된 경로가 잘못되었습니다(예: 매핑되지 않은 드라이브에 있음).The specified path is invalid (for example, it is on an unmapped drive).

지정된 파일이 사용 중입니다.The specified file is in use.

-또는--or- 파일에 대해 열린 핸들이 있고 운영 체제가 Windows XP 또는 이전 버전입니다.There is an open handle on the file, and the operating system is Windows XP or earlier. 이 열린 핸들은 디렉터리 및 파일을 열거하면 발생할 수 있습니다.This open handle can result from enumerating directories and files. 자세한 내용은 방법: 디렉터리 및 파일 열거를 참조하세요.For more information, see How to: Enumerate Directories and Files.

path의 형식이 잘못되었습니다.path is in an invalid format.

지정된 경로, 파일 이름 또는 둘 다가 시스템에서 정의한 최대 길이를 초과합니다.The specified path, file name, or both exceed the system-defined maximum length.

호출자에게 필요한 사용 권한이 없습니다.The caller does not have the required permission.

-또는--or- 파일이 사용 중인 실행 파일입니다.The file is an executable file that is in use.

-또는--or- path는 디렉터리입니다.path is a directory.

-또는--or- path가 읽기 전용 파일을 지정했습니다.path specified a read-only file.

예제

다음 예제에서는 파일 그룹을 C:\archives\2008 백업 폴더에 복사한 다음 원본 폴더에서 삭제 합니다.The following example copies groups of files to the C:\archives\2008 backup folder and then deletes them from the source folder.

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);
}

Dim sourceDir As String = "c:\current"
Dim backupDir As String = "c:\archives\2008"

Try
    Dim picList As String() = Directory.GetFiles(sourceDir, "*.jpg")
    Dim txtList As String() = Directory.GetFiles(sourceDir, "*.txt")

    ' Copy picture files.
    For Each f As String In picList
        'Remove path from the file name.
        Dim fName As String = 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)
    Next

    ' Copy text files.
    For Each f As String In txtList

        'Remove path from the file name.
        Dim fName As String = 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 copyError As IOException
            Console.WriteLine(copyError.Message)
        End Try
    Next

    For Each f As String In txtList
        File.Delete(f)
    Next

    For Each f As String In picList
        File.Delete(f)
    Next

Catch dirNotFound As DirectoryNotFoundException
    Console.WriteLine(dirNotFound.Message)
End Try

설명

path 매개 변수에 대 한 상대 또는 절대 경로 정보를 사용 하 여 파일 이름을 지정 합니다.Specify a file name with any relative or absolute path information for the path parameter. 와일드 카드 문자를 포함할 수 없습니다.Wildcard characters cannot be included. 상대 경로 정보는 현재 작업 디렉터리에 상대적으로 해석 됩니다.Relative path information is interpreted as relative to the current working directory. 현재 작업 디렉터리를 가져오려면 GetCurrentDirectory를 참조 하세요.To obtain the current working directory, see GetCurrentDirectory.

파일을 삭제할 수 없으면 예외가 throw 됩니다.If the file to be deleted does not exist, no exception is thrown.

일반적인 i/o 작업 목록은 일반적인 I/o 작업을 참조 하세요.For a list of common I/O tasks, see Common I/O Tasks.

보안

FileIOPermission
지정된 된 파일을 삭제 합니다.for deleting the specified file. 연결 된 열거형: WriteAssociated enumeration: Write

적용 대상

추가 정보