如何通过java删除MY计算机中具有特定扩展名的所有文件

时间:2011-06-15 10:44:49

标签: java

我想编写一个java程序,通过它我可以删除计算机中具有特定扩展名或字符模式的所有文件。我还想在文件名上应用通配符。

提前致谢

3 个答案:

答案 0 :(得分:5)

为了使你的程序真正有用,你需要做更多的思考,但对于一个启动者;

import java.io.File;
import java.util.regex.Pattern;

private static void walkDir(final File dir, final Pattern pattern) {
  final File[] files = dir.listFiles();
  if (files != null) {
    for (final File file : files) {
      if (file.isDirectory()) {
        walkDir(file, pattern);
      } else if (pattern.matcher(file.getName()).matches()) {
        System.out.println("file to delete: " + file.getAbsolutePath());
      }
    }
  }
}

public static void main(String[] args) {
  walkDir(new File("/home/user/something"), Pattern.compile(".*\\.mp3"));
}

答案 1 :(得分:1)

旁注(不是答案,但你没有问过什么):注意递归。

答案 2 :(得分:1)

public void deleteFilesWithExtension(final String directoryName, final String extension) {

    final File dir = new File(directoryName);
    final String[] allFiles = dir.list();
    for (final String file : allFiles) {
        if (file.endsWith(extension)) {
            new File(aDirectoryName + "/" + file).delete();
        }
    }
}