本文实例讲述了Java实现的模糊匹配某文件夹下的文件并删除功能。分享给大家供大家参考,具体如下:
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+"的文件已经删除失败或该文件夹下不存在这类文件!"); } } }
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算法相关内容感兴趣的读者可查看本站专题:《Java文件与目录操作技巧汇总》、《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》和《Java缓存操作技巧汇总》
希望本文所述对大家java程序设计有所帮助。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。