FileInfo.Delete メソッド

定義

ファイルを完全に削除します。

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

例外

ターゲット ファイルが、Microsoft Windows NT を実行するコンピューター上で開いているかメモリ マップされています。

- または -

ファイルに開いているハンドルがあり、オペレーティング システムが Windows XP かそれ以前のバージョンです。 このハンドルが開いている原因は、ディレクトリおよびファイルを列挙したことにある可能性があります。 詳細については、「 方法: ディレクトリとファイルを列挙する」をご覧ください。

呼び出し元に、必要なアクセス許可がありません。

このパスは、ディレクトリです。

Deleteメソッドの例を次に示します。

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.

次の例では、ファイルを作成、閉じる、および削除します。

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

注釈

ファイルが存在しない場合、このメソッドは何も行いません。

適用対象

こちらもご覧ください