编程-[求助]使用java在指定的目录下实现文件的模糊搜索

问题描述

[求助]使用java在指定的目录下实现文件的模糊搜索
一、功能要求:
用户单击“选择地址”按钮,程序自动打开文件夹选择器(如图2),用户选定用户选择目标文件夹后,输入文件名(可包含“*”表示任意连续多个字符,“?”示任意一个字符),选择文件的扩展名。程序自动获取指定目录下满足条件的所有文件,并显示在窗体中(如图1)。
二、关键技术:
首先获取指定目录下的文件数组,再从该数组中查询满足条件的文件。
三、实现的图形用户界面如下:

解决方案

已经基本实现了。我发布到我的博客了,你看下。

http://blog.csdn.net/tongyi55555/article/details/46565531

解决方案二:

 package test;import java.io.File;import java.util.ArrayList;import java.util.List;import java.util.regex.Pattern;public class SearchFile {    private List<String> resultLsit = new ArrayList<String>();    private String fileName = null;    public SearchFile(){    }    public SearchFile(String basePahtString regexString suffix){        this.SearchFlieList(basePaht regex suffix);    }    public void SearchFlieList(String basePahtString matchStrString suffix){        File root = new File(basePaht);        if(root!=null&&root.listFiles()!=null)            for(File file:root.listFiles()){                if(file.isDirectory())                      SearchFlieList(file.getAbsolutePath()matchStrsuffix);                else if(file.isFile()&&file.getName().endsWith(suffix)){                        fileName = file.getName().contains(""."")?file.getName().substring(0file.getName().lastIndexOf(""."")):file.getName();                        if(matching(matchStrfileName))                            resultLsit.add(file.getAbsolutePath());                }            }    }    private boolean matching(String matchStrString targerStr){        matchStr = matchStr.replaceAll(""\*"".*"").replaceAll(""\?""\."");        try {            if(Pattern.compile(matchStr).matcher(targerStr).matches())                return true;        } catch (Exception e) {            return false;        }        return false;    }    public List<String> getResultLsit() {        return resultLsit;    }    public void setResultLsit(List<String> resultLsit) {        this.resultLsit = resultLsit;    }    public static void main(String[] args) {        Long start = System.currentTimeMillis();        SearchFile searchFile = new SearchFile(""d:/""*ant*"".jar"");        for (String string : searchFile.getResultLsit()) {            System.out.println(string);        }        System.out.println(""耗时:""+(System.currentTimeMillis()-start));    }}
时间: 2024-10-03 00:05:14

编程-[求助]使用java在指定的目录下实现文件的模糊搜索的相关文章

c语言如何在指定的目录下生成文件

问题描述 c语言如何在指定的目录下生成文件 FILE_ *fput=fopen(""/home/nagainpkm/pwdSoftKeyboard/key""w""); 我想每次执行的程序的时候在这个目录下生成这个key的文件 这么写为什么不好使呢.. 解决方案 如何使用C语言搜索指定目录下的所有文件?Linux下 C语言实现遍历指定目录下指定格式的文件linux下使用c语言删除指定目录下所有文件 解决方案二: 使用相对目录或绝对目录,你这个目录

Linux shell编程 5 ---- 利用shell脚本遍历某个目录下的所有文件

 1 我们都知道shell脚本能够做很多的事,今天刚好一个队友要我写个脚本求某个目录下所有java文件的行数总和  2 ok,为了方便,我把这个目录放到了当前的家目录下,路径为/home/chenguolin/src  3 我在家目录下建了一个s.sh的脚本,代码如下,等等来分析代码的意思 #!/bin/bash function ergodic(){ for file in ` ls $1 ` do if [ -d $1"/"$file ] then ergodic $1"

PHP遍历并打印指定目录下所有文件实例

 这篇文章主要介绍了PHP遍历并打印指定目录下所有文件实例,需要的朋友可以参考下  代码如下: <?php //功能:遍历并打印指定目录下所有文件   function scan_dir($dir_name,$dir_flag=1) {  static $FILE_COUNT=1;                //记录文件数目 初值为1 目录名称不记  $FILE_COUNT--;                       //每调用一次scan_dir()函数自减1  @$dir_hand

文件复制-android将选择一张图片复制到指定的目录下

问题描述 android将选择一张图片复制到指定的目录下 先展出源代码: //打开图库 class B3 implements OnClickListener{ @Override public void onClick(View arg0) { // TODO Auto-generated method stub Intent intent = new Intent(Intent.ACTION_GET_CONTENT); intent.setType("image/*"); inte

filepath-Pathon 删除指定目录下的文件, 我是coding online,无法调试,代码报错,具体如下:

问题描述 Pathon 删除指定目录下的文件, 我是coding online,无法调试,代码报错,具体如下: #Delete all files under the pointed path import os filePath = raw_input("Input path where you want delete:n") #If file path is null, we should initial the variable "/home" if file

java 打印目录下所有文件和目录的名字 疑问求解

问题描述 java 打印目录下所有文件和目录的名字 疑问求解 结果为: Exception in thread "main" java.lang.NullPointerException at IO.打印目录下所有目录名文件名.print(打印目录下所有目录名文件名.java:10) at IO.打印目录下所有目录名文件名.main(打印目录下所有目录名文件名.java:25) 如果把main方法中File file = new File("d:"); 空指针异常会

Python删除指定目录下过期文件的2个脚本分享_python

脚本1: 这两天用python写了一个删除指定目录下过期时间的脚本.也可能是我初学python,对python还不够熟习,总觉得这个脚本用shell写应该更简单也更容易些.就功能上来说,该脚本已经实现了我想要的效果,不过该脚本还不够通用性,还有更多可以完善的地方.目前该脚本在python2.4下运行良好.同时,我在脚本中加入了对python版本的判断,理论上2.7下也应该可以正常使用.有环境的朋友可以帮忙测试一下.该脚本不完善的地方在于,只能支持一级目录下的文件删除,还不支持目录递归.同时过期文

php清空(删除)指定目录下的文件,不删除目录文件夹的实现代码_php技巧

web 开发中我们可能会碰到需要将某个目录下的所有文件清空,但不删除这个目录下的子目录(当然也不会删除被删除的根目录)的情况.那么对于这种只删除文件而不删除目录的方法,你是如何处理的呢?下面博主将要和你分享一下对于这个问题的一种比较好的解决办法.看下面这个函数: /*删除指定目录下的文件,不删除目录文件夹*/ function delFile($dirName){ if(file_exists($dirName) && $handle=opendir($dirName)){ while(f

删除指定目录下的文件及空文件夹

原文:删除指定目录下的文件及空文件夹 echo offecho 正在执行数据库备份清理及转储,执行完毕自动退出,请勿强制关机!!!rem 删除I:\BatTest\test目录下的文件及空文件夹set a=I:\BatTest\test forfiles /s /p %a% /m *.* /d -90 /c "cmd /c  echo @file | del @file" echo %a% for /f "tokens=*" %%a in ('dir /b /ad