ディレクトリ配下のファイルを削除するサンプル †Javaで指定したディレクトリ配下のファイルをすべてを削除するサンプルソースになります。 関連記事 †サンプルソース †getFileList()メソッドを再帰呼出しすることにより、サブディレクトリ内のファイル一覧を取得しています。 尚、本サンプルプログラムは以下の引数を必要とします。 java RemoveFiles ディレクトリ ディレクトリを指定しないとUsageが表示されます。 サンプルソースの構造は、指定したサブディレクトリ内のファイル一覧をList<File>に格納します。 import java.io.File; import java.util.List; import java.util.ArrayList; import java.util.Collections; class RemoveFiles { private void usage() { System.err.println("Usage: java RemoveFiles <directory>"); System.exit(1); } private List<File> getFileList(String dir, List<File> fileList) { File f = new File(dir); File[] fl = f.listFiles(); if (fl != null) { for (File item : fl) { fileList.add(item); if (item.isDirectory()) { getFileList(dir + System.getProperty("file.separator") + item.getName(), fileList); } } } return fileList; } public static void main(String[] args) { RemoveFiles me = new RemoveFiles(); // check arguemnts if ((args.length !=1)) { me.usage(); } // directory ? File f = new File(args[0]); if (!f.exists()) { // false System.out.println(args[0] + " directory is not found."); System.exit(2); } if (f.isFile()) { System.out.println(args[0] + " is file, Please set the directory."); System.exit(3); } if(!f.isDirectory()) { System.out.println(args[0] + " is unknown, Please set the directory."); System.exit(4); } List<File> fileList = new ArrayList<File>(); fileList.add(new File(args[0])); me.getFileList(args[0], fileList); Collections.reverse(fileList); for (File fitem : fileList) { fitem.delete(); } } } コンパイルおよび実行結果 †上記サンプルソースをコンパイルして実行してみます。
以上、指定したディレクトリ配下のファイルを削除するサンプルソースでした。 |