Java实现的模糊匹配某文件夹下的文件并删除功能示例

时间:2022-11-04 15:35:25

本文实例讲述了Java实现的模糊匹配某文件夹下的文件并删除功能。分享给大家供大家参考,具体如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
package com.wyebd.gis;
import java.io.File;
/**
 * @Title: DelFiles.java
 * @Package com.wyebd.gis
 * @Description:
 * @author lisr
 * @date Mar 7, 2012 5:36:03 PM
 * @version V1.0
 */
public class DelFiles {
 /**
 * @Title: main
 * @Description:
 * @param args
 * @return void
 * @author lisr
 * @date Mar 7, 2012 5:36:04 PM
 * @throws
 */
 //用以模糊删除头部为str的文件
 public static boolean delFilesByPath(String path,String str){
 //参数说明---------path:要删除的文件的文件夹的路径---------str:要匹配的字符串的头
 boolean b=false;
 File file = new File(path);
 File[] tempFile = file.listFiles();
 for(int i = 0; i < tempFile.length; i++){
 if(tempFile[i].getName().startsWith(str)||tempFile[i].getName().endsWith(str)){
 System.out.println("将被删除的文件名:"+tempFile[i].getName());
 boolean del=deleteFile(path+tempFile[i].getName());
 if(del){
  System.out.println("文件"+tempFile[i].getName()+"删除成功");
  b=true;
 }else{
  System.out.println("文件"+tempFile[i].getName()+"删除失败");
 }
 }
 }
 return b;
 }
 private static boolean deleteFile(String path){
 System.out.println(path);
 boolean del=false;
 File file=new File(path);
 if(file.isFile()){
 file.delete();
 del=true;
 }
 return del;
 }
 public static void main(String[] args) {
 // TODO Auto-generated method stub
 String path="D:/temp/";
 String str="44_";
 if(delFilesByPath(path,str)){
 System.out.println(path+"中包含"+str+"的文件已经全部删除成功!");
 }else{
 System.out.println(path+"中包含"+str+"的文件已经删除失败或该文件夹下不存在这类文件!");
 }
 }
}
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
package com.wyebd.gis;
import java.io.File;
/**
 * @Title: DelFiles.java
 * @Package com.wyebd.gis
 * @Description:
 * @author lisr
 * @date Mar 7, 2012 5:36:03 PM
 * @version V1.0
 */
public class DelFiles {
 /**
 * @Title: main
 * @Description:
 * @param args
 * @return void
 * @author lisr
 * @date Mar 7, 2012 5:36:04 PM
 * @throws
 */
 //用以模糊删除头部为str的文件
 public static boolean delFilesByPath(String path,String str){
 //参数说明---------path:要删除的文件的文件夹的路径---------str:要匹配的字符串的头
 boolean b=false;
 File file = new File(path);
 File[] tempFile = file.listFiles();
 for(int i = 0; i < tempFile.length; i++){
 if(tempFile[i].getName().startsWith(str)||tempFile[i].getName().endsWith(str)){
 tempFile[i].delete();
 b=true;
 }
 }
 return b;
 }
 public static void main(String[] args) {
 String path="D:/temp/";
 String str="44_";
 if(delFilesByPath(path,str)){
 System.out.println(path+"中包含"+str+"的文件已经全部删除成功!");
 }else{
 System.out.println(path+"中包含"+str+"的文件已经删除失败或该文件夹下不存在这类文件!");
 }
 }
}

个人认为:如果要实现更高级的这种模糊匹配,只需要用String的indexOf()方法,凡是含有这个字符串的文件,都一并删除!

希望本文所述对大家java程序设计有所帮助。

原文链接:http://blog.csdn.net/lishirong/article/details/41674511