本文实例讲述了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