`
柯小芍
  • 浏览: 13459 次
  • 性别: Icon_minigender_2
社区版块
存档分类
最新评论

File应用之文件搜索器(关键字搜索)

 
阅读更多

简要理解:文件搜索器其本质就是对文件目录的遍历查找。主要就是在根目录下进行循环遍历,如果是目录则继续查找,如果是文件就返回文件路径。但是简单的进行遍历在文件非常多则很是耗时,因此借用线程来节约时间。

 此为文件搜索器的界面代码:

import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
/**
 * 文件搜索器界面
 * @author hadoop
 *
 */
public class Border implements ActionListener{
	private JFrame frame;
	private JTextField text1,text2;
	private JTextArea area=new JTextArea(40,50);
	/**
	 * @param 主函数
	 */
	public static void main(String[] args) {
		Border border=new Border();
     border.init();
	}
	private void init() {
		JFrame jfame=new JFrame();
		JPanel jp=new JPanel();
		jfame.setSize(800, 800);
		jfame.setDefaultCloseOperation(3);
		jfame.setTitle("文件查询器");
		jfame.setLayout(new BorderLayout());
		JLabel lable1=new JLabel("文件名: ");
	  text1=new JTextField(14);
		JLabel lable2=new JLabel("根目录: ");
		text2=new JTextField(14);
		JButton j=new JButton("搜索");
		jfame.add(jp,BorderLayout.NORTH);
		jfame.add(lable1,BorderLayout.SOUTH);
		jp.add(lable1);
		jp.add(text1);
		jp.add(lable2);
		jp.add(text2);
		jp.add(j);
		jfame.setVisible(true);
		jfame.add(new JScrollPane(area));//添加组件,显示文件内容
		//添加监听
		j.addActionListener(this);
	}

	public void actionPerformed(ActionEvent e) {
		String string=e.getActionCommand();
 		if(string.equals("搜索")){
 			FileSearchThread fileListener=new FileSearchThread(text1,text2,area);
 			fileListener.start();
 		}
	}
	
然后就是搜索文件的线程
/**
 *   文件搜索的线程
 * @author hadoop
 *
 */

public class FileSearchThread extends Thread  {
	private JTextField keyfield;
	private JTextField pathfield;
	private JTextArea display;
	//构造方法
	public FileSearchThread(JTextField keyfield,JTextField pathfield,JTextArea display){
		this.keyfield=keyfield;
		this.pathfield=pathfield;
		this.display=display;
	}
	public void run(){
		String key=keyfield.getText();
		String path=pathfield.getText();
		searchfile(key,path);
		
	}
//递归搜索文件
	private void searchfile(String keyword, String path)  {
		File file=new File(path);
		if(file.exists()){
			if(file.isDirectory()){
				File fileArray[]=file.listFiles();
				if(fileArray!=null){
					for(int i=0;i<fileArray.length;i++){
						searchfile(keyword,fileArray[i].getAbsolutePath());
					}
				}
			}
			if(file.isFile()){
					if(file.getName().indexOf(keyword)!=-1)//如果关键字在文件中出现
					display.append(file.getAbsolutePath()+"\n");


			}
		}
		
		
	}

	

}
 
分享到:
评论

相关推荐

    java文件搜索器(完整)

    首先,Java中的`java.io.File`类是实现文件搜索器的基础。这个类提供了大量的方法来创建、读取、写入和管理文件及目录。例如,`list()`和`listFiles()`方法可以用来获取目录下的所有文件和子目录,这对于遍历文件...

    在文本文件中查找关键字

    在文本文件中查找关键字是日常编程任务中常见的一环,特别是在大数据分析、日志处理以及文本挖掘等场景中。本文将深入探讨两种不同的方法来实现这一功能:一次性读取整个文件和使用缓冲区分批读取。 首先,一次性...

    文件内容搜索器_C#_文件内容搜索器_

    在IT领域,文件内容搜索器是一种非常实用的工具,它能帮助用户快速定位到特定文本在大量文件中的位置。在这个项目中,我们讨论的是一个使用C#编程语言编写的文件内容搜索器。C#是一种面向对象的、类型安全的、高性能...

    Source Insight 语言高亮关键字 配置文件

    配置Source Insight的语言关键字高亮主要涉及两个步骤:创建或导入语言配置文件,以及设置编辑器的语法风格。"lang"这个压缩包文件很可能包含了预配置的特定语言关键字列表。这些配置文件通常是以".prj"或".lng"为...

    C# 文件搜索程序

    好的文件搜索程序还需要具备良好的错误处理机制,例如处理文件权限问题、网络驱动器不可用等异常情况。同时,应提供友好的用户反馈,如进度条、取消操作选项等,以提升用户体验。 总结,"C# 文件搜索程序"结合了C#...

    文件检查FileCheck

    综上所述,FileCheck是一个灵活且实用的文件检查技术,其关键在于正确选择和应用关键字,以及选择合适的工具或方法来实现。无论是简单的文本搜索还是复杂的日志分析,FileCheck都能发挥重要作用。在实际操作中,我们...

    安卓重复文件搜索工具 Search Duplicate File 4.96 中文免费版.zip

    安卓重复文件搜索工具 Search Duplicate File 中文特别版Windows 10 Manager 中文版 什么是重复文件? 从互联网下载两次或以上的音乐,照片,视频或应用程序。 通过蓝牙接收的文件两次或更多次。 缓存的图像或缩略图...

    在VB中调用HELP文件并实现Winhelp的关键字、主题等功

    在VB(Visual Basic)编程环境中,调用HELP文件并实现WinHelp的关键字、主题等功能是一项重要的技术,这对于创建用户友好的交互式应用程序至关重要。WinHelp是一种老式的帮助系统,广泛应用于早期的Windows应用程序...

    文件搜索功能普通功能的实现

    在IT领域,文件搜索功能是操作系统、文件管理器或应用程序中的基本组件,它允许用户快速定位和访问存储在计算机上的特定文件。对于“文件搜索普通功能的实现”这个主题,我们将探讨这一基础功能的设计和工作原理,...

    C# 文件管理器filebrowser demo

    【C# 文件管理器filebrowser demo】是一款基于C#编程语言开发的文件管理应用程序,它模仿了操作系统自带的文件浏览器功能,并且具有高度的实用性和兼容性。此应用利用了Windows API中的`Shell32`库,使得用户界面与...

    文件搜索.rar,用于文件搜索,vc做的

    文件搜索是计算机操作中的常见需求,这个应用可能实现了遍历指定目录及其子目录,根据用户输入的关键字快速查找匹配的文件。这种功能通常涉及文件I/O操作,字符串处理,以及可能的多线程技术以提高搜索效率。对于...

    android 快速的搜索手机文件引擎 java I/O的应用

    在Android平台上,构建一个快速的文件搜索引擎是提高用户体验的关键之一。Java I/O(输入/输出)库在其中起着至关重要的作用,因为它允许我们高效地读取、写入和处理文件系统数据。本篇文章将深入探讨如何利用Java I...

    Search_Keyword_in_file:在文件夹中的所有文件中搜索给定的关键字

    对于编程语言,Python提供了一个名为`glob`的模块,结合`open()`函数,可以遍历目录并读取文件内容,从而实现关键字搜索。另外,`re`模块可以处理正则表达式,增加搜索的灵活性。例如: ```python import glob ...

    配置文件修改器,能将配置文件中的内容进行替换

    在这个项目中,头文件可能包含了配置文件操作相关的函数原型,比如`replace_in_file`或`search_and_replace`,以及可能用到的数据结构,比如`struct ConfigFile`,用于存储配置文件的相关信息。使用头文件可以避免...

    RichEdit关键字变色,注释变色,打开保存文件并更改格式

    本教程将围绕“富文本编辑器的关键字变色、注释变色、文件打开与保存以及格式更改”展开,以C++编程语言为例,结合MyRichEdit项目进行详细讲解。 1. 关键字变色:在编程环境中,关键字通常需要高亮显示,以便用户...

    桌面文件搜索引擎C#

    标题“桌面文件搜索引擎C#”指的是使用C#编程语言开发的一种桌面应用程序,它的主要功能是在Windows操作系统中快速搜索和定位用户文件。C#是微软公司推出的一种面向对象的编程语言,广泛应用于Windows平台的软件开发...

    C#文件管理器源代码

    4. **File Search**: 文件搜索功能可能基于System.IO命名空间中的Directory和FileInfo类,配合正则表达式或者模糊匹配算法,来实现快速查找特定文件或符合特定条件的文件。 5. **其他辅助类**: 可能还会有如Dialogs...

    Exp5_jframe_文件_操作器_

    总的来说,“Exp5_jframe_文件_操作器_”是一个基于Java Swing的GUI应用,它使用`JFrame`作为基础框架,结合自定义的`FileUtils`工具类,为用户提供文件搜索和复制功能。这个实验涵盖了GUI设计、文件操作以及面向...

    python仿evething的文件搜索器实例代码

    在本篇内容中,我们将探讨如何使用Python来创建一个仿照Everything文件搜索器的应用程序。Everything是一款高效快速的文件搜索工具,而本文的目标是利用Python的库和功能来实现类似的功能。以下是一些核心知识点: ...

    文件搜索工具

    标题中的“文件搜索工具”指的是这样一类应用程序,它们设计用于在计算机系统中迅速定位和查找指定的文件或文件夹,相较于操作系统(如Windows)自带的基本搜索功能,这类工具通常提供更快、更精确的搜索体验。...

Global site tag (gtag.js) - Google Analytics