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

本文实例讲述了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程序设计有所帮助。

代码技巧

转载请关注公众号:代码技巧 回复:授权

本文链接地址:https://www.oudahe.com/p/47978/