`
费文—jmiss
  • 浏览: 34986 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

文件搜索程序

 
阅读更多

基于文件的基本操作,编写了一个简单的文件搜索程序

 

1.界面

 

package fileFound;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.*;



/**
 * 文件的查找登陆界面
 * 
 * @author lenovo
 * 
 */
public class FileFoundUI extends JFrame{

	public static void main(String args[]) {

		// 创建FileCopy对象
		FileFoundUI fc = new FileFoundUI();

		fc.showUI();

	}

	
	/**
	 * 初始化窗口
	 */
	public void showUI(){
		
		//设置标题
		this.setTitle("文件统计器  v1.0");
		//设置窗体大小
		this.setSize(600,350);
		
		//创建流式布局器
		java.awt.FlowLayout fl=new java.awt.FlowLayout();
		this.setLayout(fl);
		
		//创建一个面板对象
		JPanel jp=new JPanel();
		//创建一个尺寸对象
		java.awt.Dimension di=new java.awt.Dimension(392,96);
		//设置面板的大小
		jp.setPreferredSize(di);
		//创建并给面板加上流式布局器
		java.awt.FlowLayout fl1=new java.awt.FlowLayout();
		jp.setLayout(fl1);
		
		//创建两个标签,创建两个文本框,一个按钮
		JLabel jl1=new JLabel("源文件路径:");
		final JTextField jt1=new JTextField(20);
		
		JLabel jl2=new JLabel("查找的内容:");
		final JTextField jt2=new JTextField(20);
		
		JButton jb=new JButton("开始查找");
		
		//将标签,文本行,按钮加到面板上去
		jp.add(jl1);
		jp.add(jt1);
		jp.add(jl2);
		jp.add(jt2);
		jp.add(jb);
		
		//把面板加到窗体
		this.add(jp);
		
		
		//创建一个多行文本框
		final JTextArea jta=new JTextArea(11,50);
		this.add(jta);
		// 创建一个滚动条
		JScrollPane jsp = new JScrollPane(jta);
		this.add(jsp);
		
		
		//窗体大小不可改变
		this.setResizable(false);
		//关闭时退出
		this.setDefaultCloseOperation(3);
		//将窗体显示出来
		this.setVisible(true);
		
		
		//给开始复制按钮安装动作监听器
		jb.addActionListener(new ActionListener() {
			
			public void actionPerformed(ActionEvent e) {
				
				String start="**********************************开始查找************************************\n";
				//将start写入多行文本框中
				jta.append(start);
				
				//得到源文件路径
				String str1=jt1.getText();
				//得到查找的内容
				String str2=jt2.getText();
				
				//创建一个FileFound对象
				FileFound ff=new FileFound();
				int count=ff.foundfile(str1, str2);
				
				//得到迭代器
				java.util.Iterator<String> ite=ff.getlist().iterator();
				while(ite.hasNext()){
					jta.append(ite.next()+"\n");
				}
				
				jta.append("                             查找完毕!!!    总共查找到:"+count+"个文件");
			}
		});
		
	}
	
}
 

 

 

 

 

2.查找的方法

 

package fileFound;

/**
 * 文件查找
 * 
 * @author lenovo
 * 
 */
public class FileFound {

	// 定义一个队列,用来装入查找到得路径
	java.util.ArrayList<String> sal = new java.util.ArrayList<String>();

	/**
	 * 查找文件
	 * 
	 * @param path
	 *            :查找文件范围的路径
	 * @param name
	 *            :查找的内容
	 * @return:找到的个数
	 */
	public int foundfile(String path, String name) {

		// 计数器
		int count = 0;

		// 根据给定路径创建文件
		java.io.File file = new java.io.File(path);

		// 判断文件是否存在
		if (!file.exists()) {
			return 0;
		}

		// 将文件夹下的装入文件数组
		java.io.File[] fa = file.listFiles();
		if (fa == null) {
			System.out.println("文件夹不存在");
			return 0;
		}

		for (int i = 0; i < fa.length; i++) {
			// 得到文件的文件名
			String s1 = fa[i].getName();
			// 得到文件的绝对路径
			String s2 = fa[i].getAbsolutePath();

			// 如果给定的文件夹下有差查找内容
			int num = s1.indexOf(name);
			// 如果是真实文件
			if (fa[i].isFile()) {
				if (num >= 0) {
					count++;
					// 将路径装入队列
					sal.add("查找到一个文件其路径为:" + s2);
				}
			} else if (fa[i].isDirectory()) {
				count += foundfile(s2, name);
			}

		}

		return count;
	}

	/**
	 * 得到装载文件路径的队列
	 * 
	 * @return:装载文件路径的队列
	 */
	public java.util.ArrayList<String> getlist() {

		return sal;
	}

}
 

 

3.界面效果图:


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

相关推荐

    文件搜索程序(JAVA版)

    一个简便易用的文件搜索java程序,将程序放在待搜索的文件夹中,编译运行后在窗口中输入文件名,文件名包含关键字,后缀名(不包含“.”),文件大小限制即可搜到所需文件的路径

    C# 文件搜索程序

    可以指定盘符的多关键字文件搜索程序 多线程处理 保证界面不会假死

    一个高级的VB文件搜索程序.rar

    一个高级的VB文件搜索程序,基于API技术实现的文件高级搜索功能,作者: Richard Mewett。该VB工程源码是cScanPath 类的示例程序,这个搜索类可以指定文件路径进行文件查找.程序具有真正全面的过滤功能. 你可以按如下...

    简单站内HTML文件搜索程序

    寻找指定目录下的文本,然后如果有与关键字相匹配的数据就把文件名返回,最后把所有搜索结果显示出来

    c# 文件搜索程序 源代码

    用VS2005 做的一个文件搜索程序,选择要搜索的路径已经关键字,然后就可以开始搜索,在搜索时先匹配文件名后匹配文件内容,都是用函数实现的,代码简单,关于字符的匹配是使用了系统自带的匹配函数

    使用Java并行流实现一个简单的文件搜索程序.txt

    这个代码实现了一个简单的文件搜索程序,用于统计指定文件夹中所有子目录的数量。首先通过getFiles()方法获取指定文件夹下的所有文件和子目录,然后使用parallelStream()方法将文件列表转换为并行流。接着使用filter...

    win32磁盘扫描文件搜索程序

    win32磁盘扫描文件搜索程序,结合配置文件全盘搜索特定后缀文件,速度很快,推荐看看

    JAVA文件搜索程序

    一个用JAVA编写的文件搜索程序,效率比windows自带的要高些。最重要的是这个程序能加深你对JAVA文件流的理解。

    WIN32控制台 C++多线程文件搜索程序

    本程序是用VC6.0写的一个C++多线程文件搜索程序,根据所需要搜索的文件后缀名与搜索路径来进行搜索。搜索结果保存在文本中,文本名字为后缀名(打开时用文本文件打开就行)。(输入路径时注意是用单\ ,根目录表示...

    java文件搜索程序

    使用netbeans自制的文件搜索程序,基本功能实现啦

    多线程高速文件搜索程序源码

    多线程高速文件搜索程序源码,多线程高速文件搜索程序源码。

    VC 自定义文件搜索程序.rar

    VC 自定义文件搜索程序,使用时请注意,搜索的文件名注意要区分大小写。输入要查找的目录名称和文件名称,点击操作按钮即可进行文件检索功能,此功能比较单一,可作为你程序的一个小模块来用。

    javase实现的文件搜索程序

    javase编写的文件搜索程序,使用JTable显示文件的名称、大小、修改时间、物理位置信息。

    FileSearch_文件搜索程序及源码_

    按照关键词搜索计算机本地的文件,支持正则表达式

    支持分页的Java图片文件搜索程序.rar

    支持分页的Java图片文件搜索程序,使用时需要用户输入查询图片路径,选择查询图片类型或名称,然后点击“开始搜索图片”按钮,即可实现搜索功能。若搜索出的图片文件比较多,则程序会分页,程序支持背景音乐,具备...

    linux操作系统下一个非常小但非常实用的文件搜索程序

    linux操作系统下一个非常小但非常实用的文件搜索程序。

    MFC文件搜索程序

    快速搜索本地文件,支持模糊搜索,将搜索结果显示在listCtrl

    GUI-python-tkinter 电脑文件搜索程序

    1. 里面有一个md文档,跟博客内容差不多 2. 还有一个search.py文件是关于该电脑文件搜索工具的完整程序

    多线程的文件搜索程序

    我也是一个程序员,经常为搜索哪些文件包含某字符串,而使用这个小工具,可以说是使用频率很高的一个小工具。有源码,您要感兴趣,还可以把它改成批量自动替换文字的程序,比如给别人作OEM版程序,要改多个软件名称...

    基于多线程的文件搜索程序

    多线程实例。实例程序,带有源码,直接可用,c++builder的精彩编程!!

Global site tag (gtag.js) - Google Analytics