`
come_for_dream
  • 浏览: 120332 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

java编写一个文件查找器

    博客分类:
  • java
 
阅读更多

我们学过文件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
分享到:
评论

相关推荐

    java编写的控制台文件管理器

    Java编写的控制台文件管理器是一个实用的工具,它允许用户通过命令行界面进行一系列的文件操作。这个程序的核心在于其对Java I/O(输入/输出)类库的充分利用,尤其是`java.io`包中的类。以下是这个项目涉及到的一些...

    java编写的文件搜索器

    在Java编程领域,文件搜索器是一个实用的工具,它能够帮助用户快速查找并定位到指定目录下的特定文件或文件类型。这个项目展示了如何利用Java语言的丰富功能来实现这一目标。接下来,我们将深入探讨其中涉及的关键...

    Java 从txt文件查找数据

    例如,你可以编写一个Java程序来搜索日志文件中的错误信息,或者从大型文本数据集中提取特定信息。 综上所述,"Java 从txt文件查找数据"涉及了Java的核心概念和技术,包括文件I/O、字符串处理、正则表达式,以及...

    Java 模拟文件管理器

    在Java编程中,模拟文件管理器是一个常见的练习项目,它帮助开发者熟悉文件系统操作和基本的I/O(输入/输出)技术。这个程序的核心在于使用Java的`File`类来代表文件和目录,并通过控制台界面来实现创建、删除、移动...

    一个用JAVA写的清除EXE病毒文件的代码

    这个标题为“一个用JAVA写的清除EXE病毒文件的代码”的项目,显然是利用Java来编写的一种防病毒解决方案,主要针对的是可执行文件(EXE)的病毒清理。 描述中提到的“清除EXE病毒文件的代码”,意味着这个Java程序...

    编写一个java应用程序,将一个包含多个子目录和文件的目录复制到另外一个指定的目录下

    综上所述,编写一个能够复制包含多级子目录和文件的Java应用程序需要理解文件和目录操作、递归、异常处理、日期格式化以及可能的用户交互设计。通过合理组合这些知识点,可以构建出一个功能完整的目录复制工具。

    一个用java编写的通讯录

    总之,这个用Java编写的通讯录系统展示了如何利用Java的GUI库、文件操作、数据结构和面向对象编程等技术,实现一个实用的桌面应用。通过深入理解这些知识点,开发者不仅可以构建自己的通讯录系统,还能为其他类型的...

    Java编写文本编辑器

    在IT领域,开发一个文本编辑器是学习编程和熟悉特定语言功能的好方法。在这个场景中,我们关注的是使用Java来创建这样一个工具。Java作为一种多平台的、面向对象的编程语言,提供了丰富的API和库,使得开发文本编辑...

    Java语言编写的数据结构-查找

    在提供的文件`search_Seq.java`和`search_Binary.java`中,应该包含了对这两种查找方法的具体实现。学习这些代码可以帮助你更好地理解如何在实际项目中应用这些算法。同时,掌握数据结构和查找算法对于提升Java编程...

    Java做的电脑快速文件查找(比电脑自带的快多了)瞬间查找文件

    标签中的"find file"意味着该程序的主要功能是查找文件,"java"表明它是用Java语言编写的,而"awt"则暗示了该程序可能使用了Java的Abstract Window Toolkit(AWT)库,这是一个Java的基础图形用户界面(GUI)组件库...

    一个java编写的程序

    这个名为"网络下载管理器"的程序,可能是用Java编写的一个工具,用于帮助用户更有效地管理和控制他们的网络下载。下载管理器通常具备以下功能: 1. **多任务下载**:允许用户同时下载多个文件,提高了下载效率。 2....

    java实现windows文件系统操作监控

    在Java编程环境中,实现Windows文件系统的操作监控是一个有趣且实用的技术挑战。这涉及到对系统底层事件的捕获,通常需要借助于系统钩子(System Hooks)的概念。在Java中,虽然原生支持并不完善,但我们可以通过...

    JAVA实现读取TXT文件并建立平衡二叉树及查找功能

    在本文中,我们将深入探讨如何使用Java编程语言从TXT文件中读取数据,构建一个平衡二叉树(例如AVL树或红黑树),并实现查找功能以及打印节点的访问路径。首先,让我们理解每个部分的基本概念。 1. **TXT文件读取**...

    java源码包---java 源码 大量 实例

     用JAVA编写了一个小工具,用于检测当前显示器也就是显卡的显示模式,比如分辨率,色彩以及刷新频率等。 Java波浪文字制作方法及源代码 1个目标文件 摘要:Java源码,初学实例,波浪文字  Java波浪文字,一个利用...

    Java编写简单系统

    在本主题中,我们将深入探讨如何使用Java来编写一个简单的系统。首先,我们需要理解Java的基础,包括语法、类与对象、封装、继承和多态等核心概念。 1. **Java基础** - **语法**:Java是一种强类型、面向对象的...

    简单的中英文词典(java编写)

    3. 文件操作:`cidian`可能是一个文本文件或者数据文件,包含词典的原始数据。在Java中,需要使用File类和InputStream/OutputStream流来读写文件。初学者需要理解文件路径的处理、文件的打开、读取和关闭等基本操作...

    java 根据文件名实现文件搜索

    java实现根据文件名查找本地文件,该程序可直接放在eclipse或者Myeclipse中则可运行,不需要下载其他什么工具包,为开发人员节省了很多时间

    java编写的记事本

    这个“java编写的记事本”项目就是一个实例,它利用Java的强大功能来实现基本的文本编辑操作,类似于我们常见的系统自带的记事本程序。Java的跨平台特性使得这个记事本应用程序能在Windows、Linux、Mac OS等多种操作...

Global site tag (gtag.js) - Google Analytics