[ Java ] ファイルおよびディレクトリを削除する ( File.delete )

Pocket

Java でファイルおよびディレクトリの削除は、File.delete メソッドを使用して行うことができます。 ただし、ディレクトリ内にファイルやサブディレクトリが存在する場合はエラーとなってしまいますので、 一括で削除したい場合には、ディレクト内のファイルやディレクトリを先にすべて削除する必要があります。

スポンサーリンク

ファイル削除のサンプル

Java でファイルやフォルダを削除するサンプルコードになります。詳細はサンプル内のコメントを参照ください。

import java.io.File;

public class TestClass
{
    public static void main(String[] args) 
    {
        File delFile;
        /*
         * ファイルを削除する
         */
        delFile = new File("E:\\del_file.txt");
        delete(delFile);

        /*
         * ディレクトリを削除する
         * ディレクトリ内にファイルや他のディレクトリが存在したら、
         * それらもすべて削除する
         */
         delFile = new File("E:\\del_dir\\"); 
         delete(delFile);

         // フォルダパスの指定は以下でも良い
         //delFile = new File("E:\\del_dir");
     }

     /*
      * ファイルおよびディレクトリを削除する
      */
     private static void delete(File f)
     {
         /*
          * ファイルまたはディレクトリが存在しない場合は何もしない
          */
         if(f.exists() == false) {
             return;
         }

         if(f.isFile()) {
             /*
              * ファイルの場合は削除する
              */
             f.delete();

         } else if(f.isDirectory()){
             /*
              * ディレクトリの場合は、すべてのファイルを削除する
              */

             /*
              * 対象ディレクトリ内のファイルおよびディレクトリの一覧を取得
              */
             File[] files = f.listFiles();

             /*
              * ファイルおよびディレクトリをすべて削除
              */
             for(int i=0; i<files.length; i++) {
                 /*
                  * 自身をコールし、再帰的に削除する
                  */
                 delete( files[i] );
             }
             /*
              * 自ディレクトリを削除する
              */
             f.delete();
         }
     }
}

長い。。。

スポンサーリンク


Pocket

Leave a Comment

Your email address will not be published. Required fields are marked *