`
什么世道
  • 浏览: 221561 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

简单文件搜索器的实现

阅读更多

   

                                    简单文件搜索器的实现

 

  平时存取文件的常常会按照一定的方式存放,这样会提高我们下次查找文件的效率,或者选择无序的存放,毫不考虑的存放,在存放的时候花的时间几乎是零,但为我们以后再次查看该文件带来了麻烦,由此,文件搜索应用应运而生

  不管使用的是什么系统,搜索功能始终是系统的一项核心功能。window系统的开始菜单最下面是程序和文件的搜索框,文件浏览器的右上角是文件搜索框。iOS和Android 给搜索单独分配了一个屏幕。由此可见文件及程序搜索功能是在系统中举足轻重的作用。

  此次用java代码编写的简单文件搜索器只是实现器最基础功能,即在指定文件夹目录通过关键字搜索列出所有包含关键字的文件。并可将搜索内容的结果保存到文件中。

 

简单文件搜索器的主界面



 

 

 

 保存搜索结果信息文件



 

保存的文件



 

 

下面介绍实现功能的要点

 

打开和保存文件用到了文件选择器JFileChooser对象

 

 

fileChooser = new JFileChooser();//create a FileChooser
fileChooser.setDialogType(JFileChooser.OPEN_DIALOG);//set dialog type is OPEN_DIALOG
fileChooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);//set file selection mode is FILES_AND_DIRECTORIES
 

 

获取文件夹的路径

 

 

int t = fileChooser.showOpenDialog(null);
if(t==JFileChooser.APPROVE_OPTION){//如果点击的是确定
	//获取文件的绝对路径
	path = fileChooser.getSelectedFile().getAbsolutePath();
	jtf_filePath.setText(path);
}
 

 

读入目录下的所有文件

 

// 构造文件对象
java.io.File file = new java.io.File(path);
// 将目录所有文件存入数组中
java.io.File[] files = file.listFiles();
 

 

判断文件名是否含有关键字

使用indexOf()方法

 

for (int i = 0; i < files.length; i++) {
	// 如果是一个真实的文件
	if (files[i].isFile()) {
	String fpath = files[i].getAbsolutePath();
	// 搜索含关键字的文件名
	if (fpath.indexOf(keyword) >= 0) {
		jta_res.append("找到文件:" + fpath + "\r\n");
	}
}

 

 

保存文件 JFileChooser过滤器过滤所需要的文件类型(txt)

// create a FileChooser
JFileChooser fileChooser = new JFileChooser(".");
// 去掉显示所有文件这个过滤器
fileChooser.setAcceptAllFileFilterUsed(false);
// 添加txt文件的过滤器
fileChooser.addChoosableFileFilter(new TxtFileFilter("txt"));

 

 

创建一个TxtFileFilter过滤器类继承FileFilter,重写其中的accept(File file)和getDescription()方法

/**
	 * Anonymous Inner Class
	 * 
	 * FileFilter only txt
	 * 
	 * @author YangKang
	 * 
	 */
	class TxtFileFilter extends FileFilter {
		// Filter String
		private String ext;

		public TxtFileFilter(String ext) {
			this.ext = ext;
		}

		@Override
		public boolean accept(File file) {
			// 首先判断该目录下的某个文件是否是目录,如果是目录则返回true,即可以显示在目录下。
			if (file.isDirectory()) {
				return true;
			}

			// 使用lastIndexOf()方法来获得这个文件的扩展名
			String fileName = file.getName();
			int index = fileName.lastIndexOf('.');
			if (index > 0 && index < fileName.length() - 1) {
				String extension = fileName.substring(index + 1).toLowerCase();
				if (extension.equals(ext))
					return true;
			}
			return false;

		}

		@Override
		public String getDescription() {
			// 将过滤器选择文件的扩展名限制为txt
			if (ext.equals("txt")) {
				return "文本文件(*.txt)";
			}
			return "";
		}

	}

 

以上是和大家分享的简单文件搜索器的实现示例,希望大家多多支持和指正。

  • 大小: 40.3 KB
  • 大小: 30.9 KB
  • 大小: 60.1 KB
分享到:
评论

相关推荐

    简单的文件搜索器

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

    易语言文件搜索器

    总结,易语言文件搜索器通过易语言的编程特性,结合高效的搜索算法和用户友好的界面设计,实现了快速查找文件的功能。通过理解易语言的基本语法和文件操作,我们可以进一步改进和扩展这个工具,以适应更复杂的文件...

    android 文件搜索器

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

    界面化文件搜索器

    文件搜索器的实现涉及到多个技术知识点: 1. 文件系统接口:程序需要与操作系统进行交互,读取文件系统的元数据,如文件名、路径、大小、修改时间等。这通常通过标准库函数,如在C++中的`&lt;filesystem&gt;`库,Python中...

    易语言源码易语言文件搜索器.rar

    "易语言源码易语言文件搜索器.rar" 是一个包含易语言源代码的压缩包,用于实现文件搜索功能。在这个项目中,我们可以深入学习易语言的基本结构、语法规则以及如何构建一个实用的文件搜索工具。 1. **易语言基础** ...

    java简单搜索器源码(系统)

    Java简单搜索器源码系统是基于Java编程语言实现的一个简易搜索引擎。这个系统主要涉及了Java核心技术、数据结构和算法,以及文件I/O操作等多方面的知识。以下将详细阐述这些关键知识点。 首先,Java作为一门面向...

    文件搜索器

    总的来说,开发一个简单的文件搜索器需要掌握C语言的基础语法,熟悉VC6.0的开发环境,以及理解Windows API中的文件操作函数。这个过程不仅能够帮助开发者加深对文件系统和搜索算法的理解,还能够锻炼解决问题和调试...

    C#做的窗口文件搜索器

    【C#窗口文件搜索器】是一个利用C#编程语言实现的桌面应用程序,它专注于文件系统的检索功能。在本文中,我们将深入探讨C#中的输入/输出(IO)流和递归算法在文件搜索中的应用,以及如何构建一个简单的窗口搜索器。 ...

    简易文件管理器

    5. **搜索功能**:高效的文件搜索功能是现代文件管理器的重要组成部分。用户应学会使用关键词、日期、大小等条件进行高级搜索。 6. **文件权限与安全**:在多用户环境中,理解文件权限至关重要。用户需要知道如何...

    基于QT+Linux/Windows的简易文件管理器

    本项目是一个基于QT框架实现的简易文件管理器,它可以运行在Linux和Windows操作系统上,提供了基本的文件和文件夹操作功能,如创建、删除、复制和粘贴。 **QT框架详解** QT是一个流行的开源C++图形用户界面应用...

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

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

    Delphi文件搜索器..rar

    一个简单的文件搜索器可能包含输入框让用户输入搜索条件,列表框显示搜索结果,以及按钮触发搜索操作。你需要了解如何布局控件,响应用户事件,以及如何在界面上动态更新搜索结果。 4. **多线程**:为了提高用户...

    c# 来实现文件管理器,有新建文件夹 文件 读写文件 搜索文件 清理垃圾和删除文件等功能 C#学习项目,winform学习项目

    这个文件管理器涵盖了多种关键功能,包括新建文件夹、创建文件、读取和写入文件、搜索文件、清理垃圾以及删除文件。这对于任何希望提升C#编程技能或了解Windows桌面应用程序开发的开发者来说,都是一个极好的学习...

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

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

    Android简易文件选择器

    "Android简易文件选择器"是一个这样的工具,它具备多选、反选和全选功能,旨在优化用户体验并解决ListView中CheckBox选中状态混乱的问题。 **文件选择器的基本概念** 文件选择器是一个用户界面组件,允许用户浏览和...

    C++实现快速查找文件 C++实现快速查找文件

    然而,如果需要在大量文件中快速查找,简单的线性搜索可能效率低下。这时可以考虑使用哈希表或二叉搜索树等数据结构。例如,先将文件名存入哈希表,然后进行查找,时间复杂度可降低到O(1)。这里以哈希表为例: ```...

    光速文件批量搜索器V4.2

    在技术层面,光速文件批量搜索器V4.2的实现可能涉及到文件系统接口的利用,如Windows API中的FindFirstFile和FindNextFile函数,这些函数允许程序高效地遍历文件系统。同时,为了加快搜索速度,软件可能采用了文件...

Global site tag (gtag.js) - Google Analytics