package iotest;
import java.awt.*;
import java.awt.Color;
import java.awt.Container;
import java.awt.Graphics;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;
import javax.swing.event.*;
public class SearchFile
{
public static void main(String[] args)
{
SearchFileFrame frame = new SearchFileFrame();
frame.setDefaultCloseOperation(javax.swing.JFrame.EXIT_ON_CLOSE);
frame.show();
}
}
class SearchFileFrame extends JFrame
{
public SearchFileFrame()
{
this.setTitle("SearchFileFrame");
setSize(600,450);
Container con = this.getContentPane();
SearchFilePanel p = new SearchFilePanel();
con.add(p);
}
}
class SearchFilePanel extends JPanel
{
private JLabel fileName = new JLabel("查找文件: ");
private JLabel directorName = new JLabel("查找范围: ");
private JLabel process = new JLabel("查找进度... ");
private JButton search = new JButton("开始查找");
private JTextField openfield = new JTextField();
private JTextField savefield = new JTextField();
private JTextArea area = new JTextArea();
private int number =0;
public SearchFilePanel()
{
setLayout(new BorderLayout());
area.setLineWrap(true);
JScrollPane s = new JScrollPane(area);
search.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
try
{
area.setText("");
Thread st = new Thread(new Runnable()
{
public void run()
{
searchFile(new File(savefield.getText()),openfield.getText());
}
});
st.start();
}
catch(Exception ee)
{}
}
});
JPanel openpanel = new JPanel();
openpanel.setLayout(new BorderLayout());
openpanel.add(fileName,BorderLayout.WEST);
openpanel.add(openfield,BorderLayout.CENTER);
JPanel savepanel = new JPanel();
savepanel.setLayout(new BorderLayout());
savepanel.add(directorName,BorderLayout.WEST);
savepanel.add(savefield,BorderLayout.CENTER);
JPanel control = new JPanel();
control.setLayout(new BorderLayout());
control.add(openpanel,BorderLayout.NORTH);
control.add(savepanel,BorderLayout.SOUTH);
JPanel searchPanel = new JPanel();
searchPanel.setLayout(new FlowLayout(FlowLayout.LEFT));
searchPanel.add(search);
searchPanel.add(process);
JPanel NorPanel = new JPanel();
NorPanel.setLayout(new BorderLayout());
NorPanel.add(control,BorderLayout.NORTH);
NorPanel.add(searchPanel,BorderLayout.SOUTH);
add(NorPanel,BorderLayout.NORTH);
add(s,BorderLayout.CENTER);
}
public void searchFile(File file,String fileName) //核心递归算法
{
if(file.exists())
{
File[] f = file.listFiles();
if(f!=null)
{
for(int i =0 ;i<f.length;i++)
{
process.setText(f[i].getPath());
if(f[i].isDirectory())
{
searchFile(f[i],fileName);
}
else
{
String temp = f[i].getName();
if(temp.indexOf(fileName)!=-1)
{
area.append(f[i].getPath()+"\r\n");
}
}
}
}
}
}
}
分享到:
相关推荐
在日常的计算机使用中,我们经常遇到硬盘空间不足或者文件管理混乱的问题,此时,重复文件查找工具就显得尤为重要。本文将详细介绍一款名为“Duplicate Cleaner”的免费工具,它可以帮助用户高效地找出并清理系统中...
### Linux文件查找技巧详解 #### 一、引言 在Linux系统中,文件查找是一项非常重要的技能。与Windows系统相比,Linux系统具有更多的文件管理工具和技术。本文将详细介绍如何使用`find`命令来查找文件,并深入探讨...
**WSUS补丁文件查找工具详解** Windows Server Update Services(WSUS)是微软提供的一款用于企业内部网络的更新服务,它允许管理员控制和分发Windows操作系统及Microsoft应用程序的更新。在大规模的企业环境中,...
1.打开 相同文件查找器(MD5).exe 2.点击“开始分析” 3.在弹出的对话框中选择要查找的文件夹,并点击“确定” 4.程序分析完后,左面会穷举该文件夹下所有文件,以及其MD5值,右面会分别显示相同的文件个数及文件路径...
用来查找重复文件的,压缩包有2个版本,挺好用的,这个也是我找了好多软件使用后,自己比较喜欢的 Easy Duplicate Finder 和 NoClone(重复文件查找)之一。我使用的版本是3.2.60 NoClone(无双)是一款用于清除重复...
在IT领域,重复文件查找工具是一种非常实用的软件,它能帮助用户在计算机或网络存储设备上找到内容相同但文件名不同的文件。这样的工具对于整理硬盘空间、优化存储效率、管理个人或组织的数字资源非常有帮助。"重复...
"Everything"是一款高效快速的文件查找工具,专为解决用户在海量文件中寻找特定文件的困扰而设计。这款工具小巧轻便,无需安装即可使用,极大地提升了文件检索的效率。 "Everything"的主要特点在于其即时搜索功能。...
Duplicate Cleaner Pro v3.2.5 绿色中文破解版是一款功能非常强大的重复文件查找工具,这个是无需注册、无需安装的单文件绿色便携版!程序可以帮助你快速的查找重复的图片、音乐等各种文件,可以根据字节、MD5、SHA...
本教程将围绕"vc6本地文件查找及文件搜索"这一主题,详细介绍如何在VC6环境中高效地进行文件查找和搜索。 1. **VC6中的文件查找**: 在VC6中,查找文件主要依赖于IDE的内置功能。首先,打开VC6,然后选择“文件”...
"本地文件查找工具"是为了解决这一问题而设计的,尤其适用于需要频繁比较不同设备间文件差异的用户。开发者基于自己的需求,开发了这款工具,旨在提供一个高效、便捷的文件查找解决方案。 文件筛选功能是该工具的...
"文件查找神器Everything"是一款强大的文件搜索工具,它以其高效、快速和易用性而闻名。在日常工作中,我们往往需要处理大量的文件和数据,传统的操作系统内置的文件搜索功能可能无法满足快速定位文件的需求,而这...
在Windows环境中,大文件查找是一项常见且实用的任务,尤其对于管理磁盘空间和优化系统性能而言至关重要。在实现这样的功能时,我们可能会采用特定的设计模式和Windows API来提高效率和准确性。下面将详细讨论相关...
在IT行业中,文件查找或遍历文件系统是程序员经常遇到的任务,特别是在开发应用程序时需要搜索特定类型文件的情况下。本文将详细解析Delphi编程语言中如何实现文件查找(文件遍历)的功能,以及与之相关的知识点。 ...
重复文件查找) 重复文件查找) 重复文件查找)
在IT领域,文件查找工具是提高工作效率的重要辅助软件,尤其对于处理大量文件的用户来说更是不可或缺。本主题将深入探讨“Search.zip”压缩包中所包含的几个关键知识点:UltraSearch、对Office文档的支持以及特征码...
"重复文件查找王 v1.7"是一款专用于查找并管理电脑中重复文件的软件工具。这款应用的主要功能是深入扫描用户指定的目录及其子目录,通过比较文件内容来识别那些内容完全一致但文件名可能不同的文件。这有助于优化...
在日常的计算机使用中,我们可能会遇到硬盘空间不足或者文件管理混乱的问题,此时,一个有效的“重复文件查找器”就显得尤为重要。这类工具能够帮助用户快速定位并删除系统中的重复文件,释放存储空间,优化文件管理...
**重复文件查找器——Duplicate Cleaner详解** 在日常的计算机使用中,我们经常会在不知不觉中积累大量的重复文件,这些文件可能来自于下载、复制、备份等操作。这些重复文件不仅占用宝贵的硬盘空间,还可能导致...
在本文中,我们将深入探讨如何使用C#编程语言在Visual Studio 2005环境下开发一个文件查找器。文件查找器是计算机系统中一个实用的工具,它允许用户快速定位和搜索特定的文件,无论是通过文件名还是文件内容。本文将...