`

java文件查找系统

阅读更多
java文件查找
java文件查找的实现,简单易学,这是查找界面以及主函数代码:
package 大二lesson04;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;

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;


public class FileIO {
	public static JTextField jt1,jt2;
	public static JTextArea jt3; 
	public void Find(String filename){
			FileThread ft = new FileThread(filename, jt1, jt2, jt3);
			ft.start();
	}	
	public static void main(String[] args) {
		//调用方法
		new FileIO().intUI();
	}
	//界面方法
	public void intUI(){
		//创建一个JFrame对象
		JFrame jf =new JFrame("文件查找系统");
		//设置大小
		jf.setSize(1000,600);
		//设置界面大小不可改
		jf.setResizable(false);
		//将窗体设置在界面的中间出现
		jf.setLocationRelativeTo(null);
		//点击关闭按钮时,程序完全关闭,不在后台执行
		jf.setDefaultCloseOperation(3);
		//设置jf的布局,其默认是边框布局,即下面的语句可以省略
		jf.setLayout(new BorderLayout());
		//创建一个JPanel对象
		JPanel jp1 = new JPanel();
		//设置面板大小
		jp1.setPreferredSize(new Dimension(0,60));
		JPanel jp2 = new JPanel();
		//设置面板的布局为边框布局,面板的默认布局是流式布局
		jp2.setLayout(new BorderLayout());
		JButton start =new JButton("开始查找(Enter)");//开始按钮
		JButton delete =new JButton("清空(Delete)");//开始按钮
		start.setPreferredSize(new Dimension(300,30));
		delete.setPreferredSize(new Dimension(300,30));
		
		JLabel jl2 = new JLabel("输入查找的后缀名eg:.txt(不输入则表示查找整个路径的内容):");//标签
		JLabel jl1 = new JLabel("输入你要查找的路径(eg:"+"F:\\"+"):");
		JLabel jl3 = new JLabel("CT出品必属精品");
		//创建一个JTextField并设置了长度
		jt1=new JTextField(20);
		jt2=new JTextField(3);
		//设置下面的显示文本框的大小
		jt3 =new JTextArea(24,82);
		jt3.addKeyListener(new KeyListener() {
			 
			public void keyReleased(KeyEvent e) {
				if(e.getKeyChar()==KeyEvent.VK_ENTER){
					jt3.setText(null);
					//调用查找方法
					Find(jt1.getText());
				}
				if(e.getKeyChar()==KeyEvent.VK_DELETE){
					jt3.setText(null);
				}
			}
			public void keyPressed(KeyEvent e) {
			}
			public void keyTyped(KeyEvent e) {
				
			}
		});//实现键盘监听器
		//设置文本框中的字体
		jt3.setFont(new Font(null, Font.BOLD,15));
		//改变光标
//		jt3.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
//		jt3.setFont(new Font("宋体",Font.PLAIN,16));
		//设置文本框中的颜色
		jt3.setBackground(Color.PINK);
		//给文本框添加滚动条
		JScrollPane jsp=new JScrollPane(jt3);
		//设置文本框为只读
		jt3.setEditable(false);
		jp1.add(jl1);//把组件添加入面板
		jp1.add(jt1);
		jp1.add(jl2);
		jp1.add(jt2);
		jp1.add(jl3);
		jp1.add(start);
		jp1.add(delete);
		jp2.add(jsp,BorderLayout.CENTER);
		//把面板添加入窗体
		jf.add(jp1,BorderLayout.NORTH);
		jf.add(jp2,BorderLayout.CENTER);
		//给按钮添加监听器
		start.addActionListener(new ActionListener(){
			
			public void actionPerformed(ActionEvent e) {
				jt3.setText(null);
				//调用查找方法
				Find(jt1.getText());
			}
		});
		delete.addActionListener(new ActionListener(){
			
			public void actionPerformed(ActionEvent e) {
				jt3.setText(null);
			}
		});
		
		//使窗体可见
		jf.setVisible(true);
	}
	
	
}


这是查找的线程代码,实现边查找边显示:
package 大二lesson04;

import java.io.File;

import javax.swing.JOptionPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;


public class FileThread extends Thread{
	public JTextField jt1,jt2;
	public JTextArea jt3; 
	public String filename;
	public FileThread(String filename,JTextField jt1,JTextField jt2,JTextArea jt3){
		this.filename=filename;
		this.jt1 = jt1; 
		this.jt2 = jt2; 
		this.jt3 = jt3; 
		
	}
	public void run(){
		this.find(filename);
		JOptionPane.showMessageDialog(null, "         查找结束!!", "警告", 1);
	}
	public void find(String filename){
		File f=new File(filename);
		//将f的子目录中的文件存入File[]中
		File[] files=f.listFiles();
		if(filename.isEmpty()) JOptionPane.showMessageDialog(null, "      您输入的路径不合法!!", "警告", 2);
		if(files!=null){
			for(int i =0;i<files.length;i++){
				//获取路径名,并存储起来
				String name = files[i].getAbsolutePath();
				//判断文件是否以jt2.getText()结尾
				if(name.endsWith(jt2.getText()))
					jt3.append(files[i].getAbsolutePath()+"\n");
				else if(jt2.getText().isEmpty())
					jt3.append(files[i].getAbsolutePath()+"\n");
//					jt3.paintImmediately(jt3.getBounds());
//				 	jt3.paintImmediately(jt3.getX(), jt3.getY(), jt3.getWidth(), jt3.getHeight()); 
				if(files[i].isDirectory())
					find(files[i].getAbsolutePath());
			}
			
		}
		
	}
}



之前匆匆实现,没有加上线程,使得查找的过程无法看,真是不好意思,现在加上了线程实现了边查边显示,并且加上了键盘监听器,在激活窗体的前提下,可以通过指定按钮操作。欢迎之前看过的游客再次光临!大家还有什么想法都可以留言,我会吸收广大同志的意见,做出更好的东西来!
  • 大小: 99.6 KB
分享到:
评论
1 楼 longhua2003 2014-11-12  

相关推荐

    java实现根据关键字查找所在文件夹的文件

    在Java编程语言中,实现根据关键字查找文件夹内包含该关键字的文件是一项常见的任务,尤其在数据处理、日志分析或者文件管理系统中。这个功能可以帮助用户快速定位到含有特定信息的文件,提高工作效率。以下是一个...

    cms-java文件管理系统

    2. **文件分类与组织**:系统允许用户根据项目、部门或主题对文件进行分类,创建文件夹结构,并支持多级目录,使得文件查找更加方便。 3. **权限管理**:具备完善的权限控制机制,可以对不同用户或用户组设置不同的...

    java重复文件查找

    在Java编程领域,重复文件查找是一项常见的需求,尤其是在大型项目或者资源管理中。这个程序能够帮助用户在指定的目录下高效地找出所有重复的.java和.class文件,这对于我们理解和优化项目结构、节省存储空间至关...

    java文件管理系统(控制台程序)

    【Java文件管理系统(控制台程序)】是一种使用Java编程语言实现的系统,它主要用于管理和操作计算机上的文件。作为控制台程序,它不依赖图形用户界面(GUI),而是通过命令行接口来执行各种文件操作,这使得它在轻...

    操作系统实习 java实现模拟文件管理系统

    本实验旨在通过编写Java程序来模拟一个简单的文件管理系统,目的是让学生理解操作系统中文件管理的核心概念,并通过实际编程加深对这些概念的理解。 #### 设计思路 为了模拟文件系统的结构,采用了树形结构来表示...

    Java模拟DOS文件系统

    7. 文件查找:根据文件名在文件系统中搜索指定文件。 8. 文件编辑:读取文件内容,允许用户修改,然后保存更改。 `FileModel.java`文件可能是用于表示文件或目录的类,它可能包含以下属性和方法: 1. 属性:文件名...

    在系统中文件查找java代码

    在系统中进行文件查找是日常开发中常见的任务之一,特别是在Java编程环境中。本文将深入探讨如何使用Java代码来实现高效且灵活的文件查找功能。Java提供了丰富的类库,如`java.io`和`java.nio`,使我们能够方便地...

    Java做的电脑快速文件查找(比电脑自带的快多了)瞬间查找文件

    总的来说,这个Java文件查找工具利用高效的索引机制和Java的跨平台特性,提供了一种快速、便捷的文件搜索解决方案,尤其适用于需要频繁查找文件的工作环境。它的核心在于优化了搜索算法,并且利用了Java AWT库来构建...

    java实现windows文件系统操作监控

    在Java编程环境中,实现Windows文件系统的操作监控是一个有趣且实用的技术挑战。这涉及到对系统底层事件的捕获,通常需要借助于系统钩子(System Hooks)的概念。在Java中,虽然原生支持并不完善,但我们可以通过...

    操作系统课程设计模拟文件系统Java

    在这个项目中,我们使用Java语言来构建一个简单的模拟文件系统,它主要实现了FAT(File Allocation Table,文件分配表)算法,这是一种广泛应用于早期磁盘管理的机制。 首先,我们要理解FAT算法的基本原理。FAT是一...

    查找重复文件和同名文件[java code]

    总的来说,这个Java实现的工具提供了便捷的文件查找和管理功能,适用于个人用户和企业环境,有助于清理和优化存储空间。通过理解和定制这个工具,用户可以进一步适应自己的具体需求,提高工作效率。

    JAVA文件学习,文件搜索器

    【标题】"JAVA文件学习,文件搜索器"指的是一个基于Java编程语言开发的实用工具,它的主要功能是帮助用户在计算机文件系统中快速查找特定的文件或文件夹。这个工具可能利用了Java的I/O流、文件操作以及目录遍历等...

    类似windows文件查找功能

    在Windows操作系统中,文件查找功能是一项非常实用的工具,它帮助用户快速定位到电脑上的特定文件或文件夹。这项功能的实现基于一系列的文件系统操作和搜索算法,使得用户能够根据文件名、文件类型、修改日期等条件...

    二级文件管理系统java

    在进行文件查找时,可以利用二分查找、哈希表或者BST(二叉搜索树)等数据结构优化查找效率。例如,可以创建一个哈希表,键是文件名,值是文件对象,这样可以快速定位文件。 此外,为了实现文件的读写,可以使用`...

    java学生信息管理系统(GUI界面+文件保存)

    总之,这个Java学生信息管理系统是初学者了解和实践面向对象编程、GUI设计、文件操作以及数据管理的良好案例。通过深入学习和分析源代码,开发者可以进一步提升Java编程技能,并掌握软件开发的基本流程。

    java中读取目录下指定的文件

    Java提供了丰富的API来处理文件系统相关的操作,包括读取、创建、删除文件以及遍历目录等。这里我们将详细讲解如何在Java中实现这个功能。 首先,你需要导入Java的`java.io`包,它包含了处理文件和输入/输出流的...

    Java文件管理系统.zip

    这个"Java文件管理系统.zip"可能包含了源代码、文档和其他资源,用于构建一个这样的系统。以下是对该系统可能涉及的关键知识点的详细解释: 1. **Java基础**:Java是一种跨平台的面向对象的编程语言,它提供了丰富...

    基于java的局域网文件管理系统

    - **查找**:实现文件查找功能,可能涉及文件名、内容或属性的搜索算法,这需要高效的检索策略。 5. **安全性**:在局域网环境中,文件管理系统必须考虑到数据安全问题,包括权限控制,防止未经授权的访问和操作。...

    java 文件查看器

    但有了Java文件查看器,用户可以直接双击执行文件,然后输入JAR包路径,就可以直观地看到类文件、资源配置以及其他内容。 3. **jd-gui.cfg**: 这个文件可能是一个配置文件,用于存储Java文件查看器的设置和偏好。...

Global site tag (gtag.js) - Google Analytics