我们学过文件File之后就想写一个文件搜索器我写了两个版本的搜索器,第一个是基于控制台的就是我的查找结果要显示在控制台上,这个比较适合初学者学习,另外我又写了一个基于界面的文件搜索器,用起来比较好看,在第二个版本中我使用了皮肤包。

首先看第一个版本,花了不到几分钟就可以搞定的东西结果让我做了很长那个时间,原因是当时递归的时候把文件夹的名称当作了绝对路径给传了进去导致无法正常递归。。。。苍天!!带走我吧。。

public  void getInfo(){
//创建输入对象,用于得到控制台的输入信息
Scanner input=new Scanner(System.in);
//提示
System.out.println("请输入查找目录:");
//获得输入
strMulu=input.next();
System.out.println("请输入查找名称:");
strSearchName=input.next();
beginSearch(strMulu);
}

上面是得到目录和查找对象,最关键的是下面的一个函数

public void beginSearch(String root){
//用root创建一个根文件对象
File rootFile=new File(root);
//将根文件夹下的目录或者文件放入数组
File[] subFiles=rootFile.listFiles();
//判断文件夹下的目录是否为空,或者文件夹下没有文件
if(subFiles==null||subFiles.length==0){
return;
}
//对文件夹下的每个文件进行操作
for(int i=0;i<subFiles.length;i++){
//如果子文件是一个文件
if(subFiles[i].isFile()){
//得到文件名称
String FileName=subFiles[i].getName();
//判断文件名称是否包含关键字
if(FileName.contains(strSearchName)){
//获得文件的绝对路径
String path1=subFiles[i].getAbsolutePath();
//将绝对路径加到队列
list.add(path1);
}
}
//如果是文件夹
if(subFiles[i].isDirectory()){
//得到文件夹名称
String FilesName=subFiles[i].getName();
//获得文件夹的绝对路径
String path2=subFiles[i].getAbsolutePath();
//判断文件名称是否包含关键字
if(FilesName.contains(strSearchName)){
//将绝对路径加到队列
list.add(path2);
}
//将子文件夹递归调用,查询下一级文件夹
beginSearch(path2);
}
}
}
public static void main(String[] args) {
FileSearch fl=new FileSearch();
fl.getInfo();
//把队列中的字符串取出来并打印
for(int i=0;i<list.toArray().length;i++){
System.out.println(list.get(i));
}
}

运行的结果为:

 具体的代码见附件

  • 大小: 115.8 KB
  • FileSearch.zip (958 Bytes)
  • 下载次数: 0
  • 查看图片附件

java编写一个文件查找器相关推荐

  1. 用java制作一个简易抽签器

    最近闲来无事,想用Java编写一个随机抽签器,最终编写后的运行结果是这样的 下面说一下怎么具体实现,非常简单. 首先,要想出现这个滚动标签,首先必须要有一个窗口来承载它,所以要在main()方法中创建 ...

  2. linux的静态编译elf无法调试,[翻译]自己动手编写一个Linux调试器系列之4 ELF文件格式与DWARF调试格式 by lantie@15PB...

    自己动手编写一个Linux调试器系列之4 ELF文件格式与DWARF调试格式 by lantie@15PB 在上一节中,你已经听说了DWARF调试格式,它是程序的调试信息,是一种可以更好理解源码的方式 ...

  3. java编写一个个人通信录程序

    Java编写一个个人通信录程序,具有如下功能: (1)定义一个类,包括姓名.邮政编码.通信地址等成员变量 (2)查找:根据姓名在文件中查找个人信息,如果找到则显示出来 (3)添加:向文件中写个人信息 ...

  4. 设计所需的各种输出格式(包括整数、实数、字符串等),用一个文件名format.h把这些信息都包括到此文件内,另编写一个文件,用文件包含命令验证可以使用这些格式

    <程序设计基础-c语言>杨莉 刘鸿翔 ISBN-978-7-03-032903-5 p241 习题7 16.设计所需的各种输出格式(包括整数.实数.字符串等),用一个文件名"fo ...

  5. 如何用FFmpeg编写一个简单播放器详细步骤介绍

    如何用FFmpeg编写一个简单播放器详细步骤介绍(转载) FFMPEG是一个很好的库,可以用来创建视频应用或者生成特定的工具.FFMPEG几乎为你把所有的繁重工作都做了,比如解码.编码.复用和解复用. ...

  6. 如何用java编写一个简单的多人PK游戏

    如何用java编写一个简单的多人PK游戏 类与对象---PK游戏的编写 素材取用----王者荣耀和BILIBILI 创建两个对战的角色(PK游戏最少需要两名角色) 创建孙尚香和Van 设置孙尚香和Va ...

  7. 智能重复文件查找器:Gemini mac中文

    给大家带来一款可以找到你电脑中多余的重复文件,并将它删除的智能软件双子座gemini2.gemini 2 Mac非常的智能它可以找到你电脑中那些无用的多余的重复文件并将它们删掉,即使它们位于系统的偏远 ...

  8. java编写存钱_用Java编写一个简单的存款

    package desposit.money; public class DespositMoney { public static void main(String[] args) { Custom ...

  9. php搜索文件名,php实现按文件名搜索文件的远程文件查找器

    对于本地,我们可以利用windows自带的查找去进行查找,但是对于线上的话,如查找ftp空间里面文件,本程序是很有用的. 使用效果: php文件查找器源码: . 代码如下: php版文件查找(file ...

最新文章

  1. 程序员面试时,不小心说了真话…...
  2. 强化学习在机器人装配工艺中的应用
  3. Win10中SVN图标不显示的解决
  4. 【Python-ML】SKlearn库决策树(DecisionRegression) 使用
  5. mooc c语言测验答案,MOOC-SPOC测试题(部分答案)(至数组一章)-C语言-宣城校区2016年...
  6. kali如何安装netcat_Netcat常用方法汇总
  7. 拷贝构造,操作符重载
  8. MFC,QT与WinForm,WPF简介
  9. Android之用HttpURLConnection断点下载谷歌云存储(google cloud storage)文件
  10. iOS- 快速实现展示布局
  11. Spring Boot : Whitelabel Error Page解决方案
  12. 一个人有没有大数据思维,主要体现在哪两个方面?
  13. FANUC机器人基础学习_示教器详解(图文)
  14. 两年数据对比柱形图_堆积柱形图+散点图=数据对比完美呈现(附视频)
  15. 一周极客热文:看马云李彦宏马明哲等大佬手绘未来图
  16. 数字万用表二极管档测试原理与使用方法--平顶山焦化公司王水成1999年
  17. 将Python2代码转换成Python3代码
  18. python3.7-secrets模块
  19. c语言魔方编程,用C语言编程玩转魔方阵小游戏
  20. 超维空间鸿蒙大宇,高维空间的存在不仅能够统一基本力,还为时空穿越提供了可能!...

热门文章

  1. uniApp APP端调起微信支付失败errCode:-100的踩坑
  2. kubeadm 安装 k8s 集群
  3. 小米有品开出全球首家商业旗舰店:加速新零售扩张
  4. python 制作正态分布图,画出拒绝域
  5. ps画画模糊笔刷_用ps污点画笔修复工具讲图片变成朦胧效果
  6. mysql java配置文件_Mysql配置文件参数优化
  7. (C++学习笔记四)封装的使用
  8. 微信授权登录与绑定或者改绑手机号关系?
  9. aiml php,chatbot:基于 AIML 的 PHP 聊天机器人
  10. linux内存占用过高怎么解决,centos7内存占用过高处理方法