如何解决如何通过java删除“我的电脑”中所有具有特定范围的文件
|| 您好,我想编写一个Java程序,通过它我可以删除计算机中名称中具有特定扩展名或字符模式的所有文件。我还想在文件名上应用通配符。 提前致谢解决方法
为了使您的程序真正有用,您需要做更多的思考,但是对于初学者来说,应该如此。
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\"));
}
, 旁注(不是答案,但您没有提出任何要求):注意递归。
, 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();
}
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。