Java实现指定目录下的文件查找

入门Java实现文件的查找功能较为简单,主要有以下两种:
1.给出文件名,查找目录及其子目录中是否存在
2.给出后缀名,查找目录及其子目录中相关的文件

题型一:
题目:在指定目录下查找一个文件,如果目录或子目录下有查找的文件,返回文件所在的目录,否则输出 “当前目录下没有此文件”。

package hello;
import java.io.File;
import java.util.*;
public class 第七周第二题 {public static void main(String[] args) {// TODO Auto-generated method stubScanner in=new Scanner(System.in);System.out.println("请输入要查找的文件名:");String filename=in.nextLine();                   //读取要查找的文件名称filename;File dir=new File("D:\\desktop\\实验七 数据");      //确定要查找的目录dir;boolean flag=false;                              //flag来确定是否查到文件;function(filename,dir,flag);                     //function函数递归实现;}static void function(String filename,File dir,boolean flag){File[]files=dir.listFiles();for(File file:files){if(file.isDirectory())                      //file是目录时,则重新调用function函数;{function(filename,file.getAbsoluteFile(),flag);}if(file.isFile() && filename.equals(file.getName()))  //file时文件且文件名相同时,输出;{            flag=true;System.out.println("要查找的文件路径为:"+file.getAbsolutePath());break;}} if(flag==true)                                 //判断有没有找到过文件;return; else{System.out.print(dir.getName()+"文件夹下没有找到此文件");return;}}}

下面是运行结果:



题型二:
*判断指定目录及其子目录下是否有后缀名为.java和.jpg的文件,如果有,就输出该文件名称和所在目录路径,如果没有,输出“*目录下没有.java和.jpg文件”。

package hello;
import java.util.*;
import java.io.*;
public class 第八周第一题 {public static void main(String[] args) {// TODO Auto-generated method stubSystem.out.println("指定的目录为:D:\\desktop");String Filename="D:\\desktop";                        //Filename为指定地址;File file=new File(Filename);boolean flag=false;                                   //flag判断有没有相关文件;function(Filename,file,flag);}static void function(String Filename,File file,boolean flag){File[]files=file.listFiles();for(File m:files){if(m.isDirectory())                             //m为目录时,调用function函数(更新了绝对路径);{function(m.getAbsolutePath(),m.getAbsoluteFile(),flag);}if(m.isFile() )                                //m为文件时{String name=m.getName();String houzhui=name.lastIndexOf(".")==-1 ? "" : name.substring(name.lastIndexOf(".")+1);//读取其后缀(java还是jpg)if("java".equals(houzhui)||"jpg".equals(houzhui))//判断后缀是不是java或jpg;{System.out.println("文件"+name+"所在的目录为:"+m.getAbsolutePath());//输出文件的绝对路径;flag=true;}}}if(flag==true)       return;elseSystem.out.println(Filename+"下没有.java和.jpg文件");}
}

下面是运行的结果:

Java实现指定目录下的文件查找相关推荐

  1. java遍历指定目录下所有文件

    /*** @description 获取File的列,以供遍历* @param file 目录的File* @param temp 传入空的list* @return 返回File的List集合*/p ...

  2. linux如何查看指定目录下文件内容,Linux 系统下通过关键词查找指定目录下的文件内容...

    #!/bin/bash # 作者:靑龍一笑(C.S.Ricen) # 功能:根据指定的关键词,查找指定目录下的文件内容 # 要查找的目录 Search_Dir=/opt/datas/ # 关键字列表 ...

  3. Java代码实现本地创建文件,读取文件,删除指定目录下的文件

    目录 一.需求: 二.实现: 1.完成创建文件,写入文件 2.读取文件 3.删除文件 测试: 注意: java的split方法分割字符串(分隔符如* | . ^ )及注意点 一.需求: 1.创建文件夹 ...

  4. Java 遍历指定目录下的所有目录

    使用File类的list方法遍历指定目录下的所有目录 完整代码 import java.io.*;class Main {public static void main(String[] args) ...

  5. php获取指定目录下所有文件列表,PHP 获取指定目录下所有文件(包含子目录)...

    set DestPath=.for /f "delims=" %%i in ('dir /ad /b ' ) do (copy %DestPath%\%%i\*.txt %Dest ...

  6. python批量重命名指定目录下所有文件的后缀名

    python批量重命名指定目录下所有文件的后缀名 有个需求,需要把某个文件夹下所有后缀名为.abc的更改为.xyz; #批量重命名指定目录下面所有文件的后缀名. word_dir为需要更改后缀的文件夹 ...

  7. php定时删除目录,shell定时删除指定目录下的文件

    contab -e 10 */12 * * * sh /usr/local/apache2/htdocs/cakephp/ebook/webroot/php/delete_big_log.sh 代码: ...

  8. Linux学习:读取目录内容 (目录名和类型)和递归统计指定目录下普通文件个数练习

    一.读取目录内容 #include <stdio.h> #include <unistd.h> #include <dirent.h> #include <s ...

  9. python 实现统计ftp服务器指定目录下文件夹数目、文件数目及所有文件大小 本次主要为满足应用方核对上传到ftp服务器的文件是否缺漏。 主要要求:指定目录下,文件夹数目/文件数目/所有文件大小

    python 实现统计ftp服务器指定目录下文件夹数目.文件数目及所有文件大小 本次主要为满足应用方核对上传到ftp服务器的文件是否缺漏. 主要要求:指定目录下,文件夹数目/文件数目/所有文件大小,类 ...

最新文章

  1. Redis键命令(查找键、判断键值是否存在、查看键值类型、删除键值、设置过期时间、查看键值有效时间)
  2. 设计模式学习3——装饰者模式(Decorator)
  3. 你需要知道的12个Git高级命令
  4. Get data from file(xxx.png) failed!
  5. 微软任命LinkedIn高级副总裁为首席技术官
  6. Selenium WebDriver中的TestNG侦听器及示例
  7. scala基础之泛型详解
  8. Spring : SpringBoot的ApplicationRunner和CommandLineRunner
  9. 精心整理的十个必须要知道CSS+DIV技巧
  10. 4. Browser 对象 - Navigator 对象(2)
  11. TortoiseSVN打分支、合并分支、切换分支
  12. 巴菲特佛罗里达州立大学演讲
  13. c语言头结点存放元素,【笔记】带头节点的单链表的C语言实现
  14. java农夫过河_C语言实现农夫过河代码及解析
  15. python之三级菜单
  16. wireshark Fiddler抓包分析与解密https Fiddler修改https请求和响应
  17. Excel 恢复默认行高、列宽
  18. Word如何添加标题
  19. 普通石粉的用途_石粉在建筑业上有什么用途
  20. 体积光,体积雾——链接

热门文章

  1. u盘在计算机磁盘中显示为磁盘1,U盘盘符显示却提示插入磁盘该怎么办
  2. 来一场说走就走的旅行的意义
  3. Java开发之——Date时间差
  4. 小而美的LBS应用龙门阵——成都开发者沙龙
  5. 树莓派4B Raspbian系统常用Linux 命令及快捷键
  6. 英语不好怎么学python?这份python英语常用单词给我收好
  7. IT数据中心第三方运维服务市场概况
  8. 攻防世界新手Misc writeup
  9. 思岚科技激光雷达在室外使用效果如何?
  10. 天涯网友免责声明的各种版本收集