java实现根据多个文件名进行模糊查询

java 代码实现 根据多个文件名进行模糊检索

建立一个简单的java项目

package com.dhx;

import java.io.File;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
//非个人创作 借鉴了百度的代码 用于个人笔记留存
public class Filefind {

    /**
     * 获取文件夹下所有文件的名称 + 模糊查询(当不需要模糊查询时,queryStr传空或null即可)
     * 1.当路径不存在时,map返回retType值为1
     * 2.当路径为文件路径时,map返回retType值为2,文件名fileName值为文件名
     * 3.当路径下有文件夹时,map返回retType值为3,文件名列表fileNameList,文件夹名列表folderNameList
     * @param folderPath 路径
     * @param queryStr 模糊查询字符串
     * @return
     */
    public static HashMap<String, Object> getFilesName(String folderPath , String queryStr) {
        HashMap<String, Object> map = new HashMap<>();
        List<String> fileNameList = new ArrayList<>();//文件名列表
        List<String> folderNameList = new ArrayList<>();//文件夹名列表
        File f = new File(folderPath);
        if (!f.exists()) { //路径不存在
            map.put("retType", "1");
        }else{
            boolean flag = f.isDirectory();
            if(flag==false){ //路径为文件
                map.put("retType", "2");
                map.put("fileName", f.getName());
            }else{ //路径为文件夹
                map.put("retType", "3");
                File fa[] = f.listFiles();
                queryStr = queryStr==null ? "" : queryStr;//若queryStr传入为null,则替换为空(indexOf匹配值不能为null)
                for (int i = 0; i < fa.length; i++) {
                    File fs = fa[i];
                    if(fs.getName().indexOf(queryStr)!=-1){
                        if (fs.isDirectory()) {
                            folderNameList.add(fs.getName());
                        } else {
                            fileNameList.add(fs.getName());
                        }
                    }
                }
                map.put("fileNameList", fileNameList);
                map.put("folderNameList", folderNameList);
            }
        }
        return map;
    }

    /**
     * 测试
     */
    public static void main(String[] args) {
        String a[]={"aa","bb","cc","dd","ee"};
        for (String s : a) {
            HashMap<String,Object> filesName = getFilesName("D:\\xxx\\xxx", s);
            Object folderNameList = filesName.get("folderNameList");
            if(folderNameList.hashCode()==1){
                System.out.println("======"+s+"不存在======");
            }
        }

    }


}

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
java编程100实例,适合初学java的朋友学习,含有源代码,省去了码代码的时间,可以直接导入,运行。建议实用eclipse,内容如下: 实例1 产生自己的控件 实例2 控件的排布示例 实例3 控件的相互控制与消息传递 实例4 彩色列表框 实例5 圆形的按钮 实例6 密码验证框 实例7 虚线与实线 实例8 显示多种字体 实例9 多种风格的窗口 实例10右键弹出菜单 实例11 森林状的关系图 实例12 简单的文本编辑器 实例13使用剪贴板的复制粘贴程序 实例14 文本的拖动处理 实例15 图片的拖动处理 实例16 数字时钟 实例17 简单的表单程序 实例18动画图标 实例19 滑杆演示 实例20程序启动界面 实例21 调色板 实例22 文件选择器 实例23 自定义光标 实例24 HTML浏览器 实例25抖动文字 实例26 阴影文字 实例27 3D文字 实例28 波浪文字 实例29 飞行文字 实例30 伸展文字 实例31 用Applet显示图片 实例32 图片火焰效果 实例33 图片百叶窗 实例34 图片倒影 实例35 图片翻折 实例36 闹钟 实例37 万年历 实例38 计算器 实例39 电子相册 实例40 声音播放程序 实例41 视频播放程序 实例42 半透明图片 实例43 图片旋转 实例44缩小与放大 实例45 移动的遮照效果 实例46 模糊与锐化 实例47 常用图形的绘制与填充 实例48 不规则图形的绘制 实例49 列出目录下的文件 实例50 取得目录文件信息 实例51 目录和文件的创建、删除和更名 实例52 复制文件 实例53 用GZIP压缩解压文件 实例54 用Zip压缩多个文件 实例55 从压缩包中提取文件 实例56 zip压缩包查看程序 实例57 压缩中文文件名的文件 实例58 存储与读取对象 实例59 Java画图程序 实例60 从网络取得图像 实例61 从网络取得文件 实例62 TCP服务器端 实例63 TCP客户端 实例64 UDP服务器模型 实例65 UDP客户端模型 实例66 聊天室服务器 实例67 聊天室客户端 实例68 组播组中发送和接受数据 实例69 时间日期服务器 实例70 FTP连接与浏览 实例71 HTTP连接与浏览 实例72 数据压缩与传输 实例73 Telnet客户端 实例74 创建和配置数据源 实例75 建立与断开数据库的连接 实例76 查询数据库 实例77 使用表格显示查询结果 实例78 修改数据库 实例79 创建与删除数据库中的表 实例80 Servlet中连接数据库 实例81 留言板程序 实例82 客户登录Servlet小程序 实例83 访问权限控制 实例84 产生密钥 实例85 对称加密 实例86 非对称加密 实例87 数字签名 实例88 数字证书 实例89SSL及HTTPS协议 实例90 Screen小程序 实例91 文字跑马灯与信息窗口 实例92 手机日历 实例93 手机画册 实例94Canvas绘图程序 实例95 碰撞的小球 实例96 用RMS记录个人信息 实例97 建立Http连接 实例98 从网络上下载数据 实例99定时器的使用 实例100 音乐播放

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值