欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2023-12-03 10:04:16
本文实例讲述了java实现的模糊匹配某文件夹下的文件并删除功能。分享给大家供大家参考,具体如下: package com.wyebd.gis; import j...

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