`
不平凡的人
  • 浏览: 35509 次
  • 性别: Icon_minigender_1
  • 来自: 嘉峪关
社区版块
存档分类
最新评论

文件搜索器

阅读更多

 1. 文件搜索器很早之前就完成了一直都没来得及发.今天就来谈谈自己的文件搜索器,写搜索器要知道几个文件方法面的方法.比如说:isFile(),listFiles()以及getAbsolutePath()等一些方法.这里我还用到了JFileChooser类.


2.JFileChooser类中的部分方法如下,该类便于选取所要查找的路径

if(e.getActionCommand().equals("选取")){
					//创建选择文件框
					JFileChooser fileChooser = new JFileChooser();
					//设置选择文件框即可以读取文件又可以读取目录
					fileChooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
					//弹出一个 "Open File" 文件选择器对话框
					fileChooser.showOpenDialog(null);
					//返回选中的文件目录
					File selectFile = fileChooser.getSelectedFile();
					//判断该目录是否存在
					if(selectFile!=null){
						//将选中的目录显示在路径的文本框中
						jtext1.setText(selectFile.getAbsolutePath());
//						jtext1.setText("");
						}
				}

 

3.文件搜索器最重要的就是对搜索方法的定义了,定义该方法的时候我是用的给出一个路径然后按照关键字去搜索,我分了四步.

 

第一步:需要一个文件这是必要的,然后判断该文件(也不确定是否目录)是否存在

//创建文件
File file = new File(path);
//列出子目录
File [] sonFile = file.listFiles();
System.out.println("---"+sonFile);
			
//判断子目录是空目录还是空文件
if(sonFile.length == 0 || null == sonFile){
	return 0;
}

第二步: 当第一步判断出目录(文件)存在这时就遍历出子目录(文件),并且判断该目录(文件)是否有要查找的关键字

//遍历子目录
for(int i=0;i<sonFile.length;i++){
				
//取出子目录
File fi = sonFile[i];
String filePath = fi.getAbsolutePath();//取得路径
System.out.println("取得的路径是: "+filePath);
//判断是否有关键字
if((filePath.indexOf(keyWords))!=-1){
//文本域显示路径
jtexta.append(filePath+"\r\n");
//状态栏标签显示路径
jlabel.setText(filePath);
} 

第三步:上述步骤搜索到的也不清楚是文件还是目录,当搜索到的是目录的时候,递归调用继续搜索

//搜索的为目录
if(fi.isDirectory()){
//递归继续调用方法搜索
soso(filePath,keyWords);
}

 第四步:自然根据上述步骤,就是当搜索到的是文件的时候就显示出关键字所在行以及列

 

//搜索的为文件
if(fi.isFile()){
//			
String filename = fi.getAbsolutePath();//取得子目录路径
File searchfile = new File(filename);
    FileReader fread = new FileReader(searchfile);
					   
       BufferedReader bf = new BufferedReader(fread);
       String str = "";
       int y = 0;
       int x = 0;
       try {
        while ((str = bf.readLine()) != null) {
		if ((x = str.indexOf(keyWords)) != -1) {
		jtexta.append("文件:" + filename + "\r\n");
		System.out.println("   " + keyWords+ "  关键字在" + filename + 
                "的第" + y+ "行,第" + x + "处"+"\r\n");
                jtexta.append("   " + keyWords + "  关键字在"+ filename + "的第" + y + "行,
                第" + x+ "处" + "\r\n");
}
y++;
}

以上就是搜索文件的四个步骤.

 

4.速度的关系就把搜索文件的放到了一个线程上了,具体实现如下:

public void run(){
	String path = jtext1.getText();//取得路径
	System.out.println("路径是: "+path);
	String keyWords = jtext.getText();//取得关键字
	File files = new File(path);//创建文件
	counts = soso(path,keyWords);//该方法返回文件数目
	soso(path,keyWords);
	jtexta.append(files+"目录下找到的文件个数是  "+counts);
        //停止线程
		searchThread.stop();
}

 

5.效果如下:

 

 

  • 大小: 78.7 KB
分享到:
评论

相关推荐

    文件搜索器(文件搜索器)

    文件搜索器,正如其名,是一种能够帮助用户在计算机中快速定位和查找特定文件的工具。在日常工作中,我们常常需要查找存储在电脑中的某个文件,但面对庞大的文件系统,手动逐个文件夹查找无疑效率低下。这时,一个...

    文件搜索器(用于文件的搜索,更改日期等)

    文件搜索器是一款强大的工具,专为用户快速查找和管理计算机中的文件而设计。它具有高效、灵活和易用的特点,能够帮助用户在海量文件中准确地定位到目标文件,节省了大量手动翻阅文件夹的时间。这款软件尤其适用于...

    java编写的文件搜索器

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

    一个多线程文件搜索器

    《一个多线程文件搜索器详解》 在计算机领域,文件搜索是日常操作中不可或缺的一环。传统的文件搜索工具往往依赖单线程进行,这在处理大量数据时可能会显得效率低下,尤其是在大型文件系统中。因此,多线程文件搜索...

    多线程字符串代码文件搜索器

    《多线程字符串代码文件搜索器》 在现代软件开发中,高效地处理大量数据是一项基本需求,尤其是在处理文件系统中的文本数据时。"多线程字符串代码文件搜索器"正是为了解决这一问题而设计的。这个工具是用VC(Visual...

    C#写的文件搜索器

    【标题】"C#写的文件搜索器"是一个基于C#编程语言开发的实用软件,用于在计算机中快速、高效地查找指定类型的文件。这个小工具能够帮助用户在大量的文件和文件夹中定位到他们需要的特定文件,极大地提高了工作效率。...

    QT写的文件搜索器(Designer窗体设计结合代码)

    在这个"QT写的文件搜索器"项目中,开发者结合了Qt Designer的设计功能和编程逻辑,构建了一个能够搜索指定路径下文件的应用程序。 首先,Qt Designer是Qt库的一部分,它提供了拖放式的图形界面设计环境。通过...

    简单文件搜索器的实现

    在IT领域,开发一个简单的文件搜索器是许多初学者和专业人士都可能会遇到的任务。这个"简单文件搜索器的实现"项目旨在教你如何构建一个能够快速查找计算机中特定文件的工具。我们将通过分析给出的源码文件来理解其...

    java文件搜索器

    使用java实现的一个文件搜索器,该搜素器能够自动读出电脑上面已有的盘,使用者可以通过选择指定盘,输入需要搜索的关键字进行搜索,也可以通过文件选择器进行选择,在指定的文件夹中进行搜索,且该过程可中断。

    快速文件搜索器 快速文件搜索器

    快速文件搜索器是一种高效能的计算机工具,设计用于帮助用户在海量的文件系统中迅速找到所需文件。在日常工作中,面对日益增长的文件数量,传统的操作系统内置的文件搜索功能往往显得力不从心,这就催生了快速文件...

    易语言文件搜索器

    《易语言文件搜索器》是一款基于易语言编程的实用工具,专用于在计算机中快速查找特定的文件。这款软件的核心功能在于其高效、简洁的文件搜索机制,为用户提供了便捷的文件定位服务。下面我们将详细解析这款软件的...

    java文件搜索器(完整)

    【Java文件搜索器】是一个基于Java编程语言实现的实用工具,它允许用户在计算机的各个磁盘或指定的文件夹中快速查找特定的文件。这个应用程序利用了Java强大的I/O和文件操作功能,为用户提供了一个方便的方式来定位...

    简单的文件搜索器

    【标题】:“简单的文件搜索器” 【描述】:在信息技术领域,文件搜索是日常工作中一个不可或缺的功能。一个简单的文件搜索器通常是指一个程序或工具,它允许用户在计算机上快速定位和查找特定的文件或文件夹。这个...

    文件搜索器多线程的搜索器

    标题中的“文件搜索器多线程的搜索器”指的是一个采用了多线程技术来提高文件搜索效率的应用程序。在IT领域,多线程是程序设计中的一个重要概念,它允许一个程序同时执行多个任务,以此提升程序性能,尤其是在处理...

    VC6.0 文件搜索器

    "VC6.0 文件搜索器"是一款模仿Windows操作系统自带搜索引擎的工具,专为用户提供快速、高效和精准的文件及文件夹查找服务。该程序利用Visual C++ 6.0开发,对于初学者而言,它是了解和学习编程技术,尤其是文件系统...

    精彩编程与编程技巧-VB中自制文件搜索器...

    ### 知识点:在VB中开发自制文件搜索器 #### 1. 项目概述 在Visual Basic(简称VB)环境中构建一个文件搜索工具,旨在帮助用户高效地查找指定驱动器及其子目录下的文件。本项目的核心功能包括: - 驱动器选择 ...

    超级实用的文件搜索器

    【标题】:“超级实用的文件搜索器” 在我们的日常工作中,高效地管理和寻找文件是必不可少的。传统的操作系统自带的文件搜索功能往往效率低下,不能满足快速查找的需求。这就是“超级实用的文件搜索器”应运而生的...

    android 文件搜索器

    【Android 文件搜索器】是一款专为Android平台设计的应用程序,旨在帮助用户快速、高效地在设备上查找指定的文件。这个工具可能包含了源代码,因此对于开发者来说,它不仅是一个实用工具,也是一个学习和研究的对象...

    多线程文件搜索器.zip

    《深入解析多线程文件搜索器》 在计算机科学领域,多线程技术是一种重要的并发执行方式,尤其在处理大量I/O操作时,如文件搜索。VC6.0中的MFC(Microsoft Foundation Classes)库提供了丰富的支持来创建多线程应用...

Global site tag (gtag.js) - Google Analytics