FileInfo.Delete メソッド

定義

ファイルを完全に削除します。Permanently deletes a file.

public:
 override void Delete();
public override void Delete ();
override this.Delete : unit -> unit
Public Overrides Sub Delete ()

例外

ターゲット ファイルが、Microsoft Windows NT を実行するコンピューター上で開いているかメモリ マップされています。The target file is open or memory-mapped on a computer running Microsoft Windows NT.

- または --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.

呼び出し元に、必要なアクセス許可がありません。The caller does not have the required permission.

このパスは、ディレクトリです。The path is a directory.

Deleteメソッドの例を次に示します。The following example demonstrates the Delete method.

using namespace System;
using namespace System::IO;

int main()
{
   String^ path = "c:\\MyTest.txt";
   FileInfo^ fi1 = gcnew FileInfo( path );
   try
   {
      StreamWriter^ sw = fi1->CreateText();
      if ( sw )
         delete (IDisposable^)sw;

      String^ path2 = String::Concat( path, "temp" );
      FileInfo^ fi2 = gcnew FileInfo( path2 );
      
      //Ensure that the target does not exist.
      fi2->Delete();
      
      //Copy the file.
      fi1->CopyTo( path2 );
      Console::WriteLine( "{0} was copied to {1}.", path, path2 );
      
      //Delete the newly created file.
      fi2->Delete();
      Console::WriteLine( "{0} was successfully deleted.", path2 );
   }
   catch ( Exception^ e ) 
   {
      Console::WriteLine( "The process failed: {0}", e );
   }
}
//This code produces output similar to the following; 
//results may vary based on the computer/file structure/etc.:
//
//c:\MyTest.txt was copied to c:\MyTest.txttemp.
//c:\MyTest.txttemp was successfully deleted.
using System;
using System.IO;

class Test
{
    
    public static void Main()
    {
        string path = @"c:\MyTest.txt";
        FileInfo fi1 = new FileInfo(path);

        try
        {
            using (StreamWriter sw = fi1.CreateText()) {}
            string path2 = path + "temp";
            FileInfo fi2 = new FileInfo(path2);

            //Ensure that the target does not exist.
            fi2.Delete();

            //Copy the file.
            fi1.CopyTo(path2);
            Console.WriteLine("{0} was copied to {1}.", path, path2);

            //Delete the newly created file.
            fi2.Delete();
            Console.WriteLine("{0} was successfully deleted.", path2);
        }
        catch (Exception e)
        {
            Console.WriteLine("The process failed: {0}", e.ToString());
        }
    }
}
//This code produces output similar to the following;
//results may vary based on the computer/file structure/etc.:
//
//c:\MyTest.txt was copied to c:\MyTest.txttemp.
//c:\MyTest.txttemp was successfully deleted.
Imports System.IO
Imports System.Text

Public Class Test

    Public Shared Sub Main()
        Dim path As String = "c:\MyTest.txt"
        Dim fi As FileInfo = New FileInfo(path)

        Try
            Dim sw As StreamWriter = fi.CreateText()
            sw.Close()
            Dim path2 As String = path + "temp"
            Dim fi2 As FileInfo = New FileInfo(path2)

            'Ensure that the target does not exist.
            fi2.Delete()

            'Copy the file.
            fi.CopyTo(path2)
            Console.WriteLine("{0} was copied to {1}.", path, path2)

            'Delete the newly created file.
            fi2.Delete()
            Console.WriteLine("{0} was successfully deleted.", path2)

        Catch e As Exception
            Console.WriteLine("The process failed: {0}", e.ToString())
        End Try
    End Sub
End Class
'This code produces output similar to the following; 
'results may vary based on the computer/file structure/etc.:
'
'c:\MyTest.txt was copied to c:\MyTest.txttemp.
'c:\MyTest.txttemp was successfully deleted.

次の例では、ファイルを作成、閉じ、および削除します。The following example creates, closes, and deletes a file.

using namespace System;
using namespace System::IO;
int main()
{
   
   // Create a reference to a file.
   FileInfo^ fi = gcnew FileInfo( "temp.txt" );
   
   // Actually create the file.
   FileStream^ fs = fi->Create();
   
   // Modify the file as required, and then close the file.
   fs->Close();
   
   // Delete the file.
   fi->Delete();
}

using System;
using System.IO;

public class DeleteTest
{
    public static void Main()
    {
        // Create a reference to a file.
        FileInfo fi = new FileInfo("temp.txt");
        // Actually create the file.
        FileStream fs = fi.Create();
        // Modify the file as required, and then close the file.
        fs.Close();
        // Delete the file.
        fi.Delete();
    }
}
Imports System.IO

Public Class DeleteTest
    Public Shared Sub Main()
        ' Create a reference to a file.
        Dim fi As New FileInfo("temp.txt")
        ' Actually create the file.
        Dim fs As FileStream = fi.Create()
        ' Modify the file as required, and then close the file.
        fs.Close()
        ' Delete the file.
        fi.Delete()
    End Sub
End Class

注釈

ファイルが存在しない場合、このメソッドは何も行いません。If the file does not exist, this method does nothing.

適用対象

こちらもご覧ください