Just another WordPress site

ファイルやフォルダを削除する

2016.06.03

ファイルやフォルダを削除する

FileクラスやDirectoryクラスのDeleteメソッドを使用することでファイルやフォルダを削除することが出来ます。

System.IO.File.Delete(ファイルパス);

System.IO.Directory.Delete(フォルダパス);

System.IO.Directory.Delete(フォルダパス, true/false);

引数にファイル、またはフォルダパスをそれぞれ指定することでファイルまたはフォルダの削除を行います。

また、DirectoryのDeleteメソッドの第二引数にtrueを指定することで、フォルダ内のサブフォルダも削除することが出来ます。

引数に指定した文字列の長さが0だった場合ArgumentExceptionの例外が発生します。

また、引数がNullの場合ArgumentNullExceptionの例外が発生します。

フォルダが持つサブフォルダが読み取り専用であるか、第二引数にfalseを指定した場合IOExceptionの例外が発生します。


private void button1_Click(object sender, EventArgs e)

{

   if (true == System.IO.Directory.Exists("./Sample"))

   {

       System.IO.FileAttributes fas = System.IO.File.GetAttributes("./Sample");



       if ((fas & System.IO.FileAttributes.ReadOnly) != System.IO.FileAttributes.ReadOnly)

       {

           string[] entries = System.IO.Directory.GetFileSystemEntries("./Sample");



           if (0 == entries.Length)

           {

               System.IO.Directory.Delete("./Sample");

               MessageBox.Show("./Sampleを削除しました。");

           }

       }

       else

       {

           MessageBox.Show("./Sampleは読み取り専用です。");

       }

   }

   else if (false == System.IO.Directory.Exists("./Sample"))

   {

       MessageBox.Show("Sampleフォルダは存在しません。");

   }



   if (true == System.IO.File.Exists("./Sample.txt"))

   {

       System.IO.FileAttributes fas = System.IO.File.GetAttributes("./Sample.txt");

   

       if ((fas & System.IO.FileAttributes.ReadOnly) != System.IO.FileAttributes.ReadOnly)

       {

           System.IO.File.Delete("./Sample.txt");

           MessageBox.Show("./Sample.txtを削除しました。");

       }

       else

       {

           MessageBox.Show("./Sample.txtは読み取り専用です。");

       }

   }

   else if (false == System.IO.File.Exists("./Sample.txt"))

   {

       MessageBox.Show("Sample.txtは存在しません。");

   }

}

関連記事