Java实现文件检索系统的示例代码

示例代码

package Demo;

import java.io.File;
import java.io.FilenameFilter;
import java.util.Scanner;
import java.lang.Exception;
import java.io.IOException;
public class Demo8_1 {
	public static void main(String[] args) {
		while(true) {
			System.out.println("1、按关键字检索文件");
			System.out.println("2、按后缀名找出文件");
			System.out.println("3、退出");
			System.out.println("请选择你的操作");
			Scanner sr = new Scanner(System.in);
			int choose = sr.nextInt();
			if(choose==1) {
				searchByKey();
			}else if(choose==2) {
				searchBySuffix();
			}else if(choose==3) {
				exit();
			}
		}
	}

	//退出
	public static void exit() {
		System.out.println("你已经退出系统,感谢使用!");
		System.exit(0);
	}

	//按照关键字查找
	public static void searchByKey() {
		Scanner sr = new Scanner(System.in);
		System.out.println("请输入要检索文件的位置:");
		String dirPath = sr.next();
		File dir = new File(dirPath);
		File[]files = dir.listFiles();
		String[] fileNames = new String[files.length];
		System.out.println("请输入检索文件关键字");
		String mainName = sr.next();
		//(dir.getName()+"/"+mainName);
		Filter filter = new Filter();
		for(int i=0;i<files.length;i++) {
			fileNames[i] = files[i].getName();
			if(filter.acceptLikeName(fileNames[i],mainName)) {
				System.out.println(fileNames[i]);
			}
		}

	}

	//按照后缀名查找
	public static void searchBySuffix() {
		Scanner sr = new Scanner(System.in);
		System.out.println("请输入要检索文件的位置:");
		String dirPath = sr.next();
		File dir = new File(dirPath);
		File[]files = dir.listFiles();
		String[] fileNames = new String[files.length];
		Filter filter = new Filter();
		System.out.println("请输入后缀名");
		String endName = sr.next();

		for(int i=0;i<files.length;i++) {
			fileNames[i] = files[i].getName();
			if(filter.acceptEndName(dir,fileNames[i],endName)) {
				System.out.println("后缀名为"+endName+"的有:"+fileNames[i]);
			}
		}
	}
}

//继承类FilenameFileter
	class Filter implements FilenameFilter {
		public boolean accept(File dir,String name) {

			return true;
		}
		public boolean acceptLikeName(String name,String mainName) {
			if(name.contains(mainName)) {
				return true;
			}
			return false;
		}
		public boolean acceptEndName(File dir,String name,String endName) {
			File file = new File(dir,name);
			if(file.isFile()&&name.endsWith(endName)) {
				return true;
			}
			return false;
		}

	}

效果图展示

到此这篇关于Java实现文件检索系统的示例代码的文章就介绍到这了,更多相关Java文件检索系统内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 使用Java Minio搭建自己的文件系统详解

    目录 前言 1.Minio介绍 2.Minio安装与启动 3.Minio控制台创建存储桶 4.存储桶权限 5.控制台实现文件的上传与下载 6.使用Springboot与Minio整合实现文件的增删查改 6.1.创建项目 6.2.添加依赖 6.3.创建自定义属性与配置类 6.4.功能实现 6.4.1.文件上传 6.4.2.文件下载 6.4.3.查询全部文件 6.4.4.删除指定文件 总结 前言 最近接了一个项目,甲方不愿意买服务器,但是呢,项目又必须要用文件功能.所以很巧,最近又刚好看到了Mini

  • Java操作hdfs文件系统过程

    目录 1.前置准备 2.编码环境前置准备 1.导入maven依赖 2.添加一个log4j.properties 文件 3.API使用环节 1.创建hdfs文件目录 2.上传文件到hdfs文件目录 3.从hdfs上面下载文件到本地 4.删除hdfs文件 5.修改hdfs文件名称 6.移动同时修改hdfs文件名称 7.文件查看相关 8.hdfs文件与文件夹的判断 4.整合Java 客户端过程中遇到的几个坑 1.运行程序直接报无法连接问题 2.上传文件情况 1.前置准备 默认服务器上的hadoop服务

  • Java探索之Thread+IO文件的加密解密代码实例

    这篇文章向大家分享了几段代码,主要是关于Thread+IO文件的加密解密,下面看看具体代码: 加密启动线程 package com.hz.subsection; import java.io.File; public class enCodeFileThread extends Thread { public Files files; public File file; public File dst; public enCodeFileThread(String name,Files file

  • Java读写文件,在文件中搜索内容,并输出含有该内容的所有行方式

    1.问题描述 在一个目录及子目录下查找 TXT或Java文件,从中搜索所有"对象"字样的行. 在D盘中的所有文件中搜索含有"对象"的行. 2.解题思路 先找出D盘下所有文件 再对每个文件中的每行内容进行,进行查找,若含有"对象"两字,输出该行. 3.程序代码 import java.io.File; import java.io.IOException; import java.util.Scanner; public class B { sta

  • Java并发(Runnable+Thread)实现硬盘文件搜索功能

    零.插播2020CSDN博客之星投票新闻 近日(1月11日-1月24日),2020CSDN博客之星评选正在火热进行中,作为码龄1年的小白有幸入选Top 200,首先很感谢CSDN官方把我选上,本来以为只是来凑热闹,看大佬们PK . 综合过去9天大佬们战况,前10名大佬基本坐得很稳,后期出现黑马发力,势不可挡,都在冲刺Top 20,有了微妙的变化,不得不令人佩服点赞!真正的实力可以看出,文章数量不重要,更重要的是质量!一切用数据说话,如图: 截至 2021-01-20 11:50:02 看了大佬的

  • Java实现文件检索系统的示例代码

    示例代码 package Demo; import java.io.File; import java.io.FilenameFilter; import java.util.Scanner; import java.lang.Exception; import java.io.IOException; public class Demo8_1 { public static void main(String[] args) { while(true) { System.out.println(

  • 基于Java实现中文分词系统的示例代码

    目录 1.问题描述 2.相关工作 3.系统框架和算法设计 3.1系统整体框架 1.问题描述 中文分词 (Chinese Word Segmentation) 指的是将一个汉字序列切分成一个一个单独的词.分词就是将连续的字序列按照一定的规范重新组合成词序列的过程.我们知道,在英文的行文中,单词之间是以空格作为自然分界符的,而中文只是字.句和段能通过明显的分界符来简单划界,唯独词没有一个形式上的分界符,虽然英文也同样存在短语的划分问题,不过在词这一层上,中文比之英文要复杂的多.困难的多. 而对于中文

  • 使用SSM+Layui+Bootstrap实现汽车维保系统的示例代码

    本项目主要实现对汽车维修厂的信息化管理功能,主要包含三个角色:管理员,维修师傅,客户.实现的主要功能包含用户管理.配置管理.汽车管理.故障管理.供应商管理.配件管理.维修订单管理.统计信息.公告管理.个人信息管理.主要业务流程:用户在系统内发起汽车维修申请定单,管理员根据情况将定单分配给维修师傅,维修师傅接受任务后开始维修,并根据情况申请配件,处理完成后由管理员生成最终支付订单结算费用,客户进入系统进行费用支付,并可以查看自己相应的维修记录和费用信息等等. 技术架构: 后台开发:SSM框架 前端

  • Java实现雪花算法的示例代码

    一.介绍 SnowFlow算法是Twitter推出的分布式id生成算法,主要核心思想就是利用64bit的long类型的数字作为全局的id.在分布式系统中经常应用到,并且,在id中加入了时间戳的概念,基本上保持不重复,并且持续一种向上增加的方式. 在这64bit中,其中``第一个bit是不用的,然后用其中的41个bit作为毫秒数,用10bit作为工作机器id,12bit`作为序列号.具体如下图所示: 第一个部分:0,这个是个符号位,因为在二进制中第一个bit如果是1的话,那么都是负数,但是我们生成

  • Java实现树形结构的示例代码

    目录 前言 数据库表结构 实现思路 具体代码 1.造数据,和数据库表数据一致 2.树型结构实体类 前言 由于业务需要,后端需要返回一个树型结构给前端,包含父子节点的数据已经在数据库中存储好,现在需要做的是如何以树型结构的形式返给给前端. 数据库表结构 实现思路 1.拿到有父子节点的集合数据 2.遍历集合数据,拿到所有的根节点 3.遍历根节点,拿到所有的子节点 4.递归子节点,将递归的子节点接上其父节点,直到子节点为空,递归完成 5.递归好后以集合形式返回,返回前端时以JSON格式转换后返回 具体

  • Java实现Redis哨兵的示例代码

    前言: 本文将采用文字+代码的方式,讲解redis版哨兵的实现,所有代码都将写在一个类中,每个属性和方法都会结合文字加以说明. 1. 哨兵(Sentinel)主要功能如下: 1.不时的监控redis节点是否良好运行,如果节点不可达就会对节点进行下线标识 2.如果被标识的是主节点,哨兵就会选举一个redis从(slave)节点成为新的主节点继续对外提供读写服务, 进而实现自动故障转移,保证系统的高可用. 3.在redis主节点 和 从节点 进行切换后,主节点配置文件master_redis.con

  • Java实现图书管理系统的示例代码

    目录 一.功能介绍 二.Main包 三.User包 1. User 2. AdminUser 3. NormalUser 四.book包 1. Book 2. BookList 五.operations包 1. IOperation接口 2. AddOperation 3. BorrowOperation 4. DelOperation 5. DisplayOperation 6. ExitOperation 7. FindOperation 8. ReturnOperation 一.功能介绍

  • Java连接postgresql数据库的示例代码

    本文介绍了Java连接postgresql数据库的示例代码,分享给大家,具体如下: 1.下载驱动jar 下载地址:https://jdbc.postgresql.org/download.html 2.导入jar包 新建lib文件夹,将下载的jar驱动包拖到文件夹中. 将jar驱动包添加到Libraries 3.程序代码如下:HelloWorld.java package test; import java.sql.Connection; import java.sql.DriverManage

  • java 生成文字图片的示例代码

    本文主要介绍了java 生成文字图片的示例代码,分享给大家,具体如下: import java.awt.Color; import java.awt.Font; import java.awt.FontMetrics; import java.awt.Graphics; import java.awt.Rectangle; import java.awt.image.BufferedImage; import java.io.File; import javax.imageio.ImageIO;

  • Java动态规划之编辑距离问题示例代码

    动态规划过程是:每次决策依赖于当前状态,又随即引起状态的转移.一个决策序列就是在变化的状态中产生出来的,所以,这种多阶段最优化决策解决问题的过程就称为动态规划. 动态规划实际上是一类题目的总称,并不是指某个固定的算法.动态规划的意义就是通过采用递推(或者分而治之)的策略,通过解决大问题的子问题从而解决整体的做法.动态规划的核心思想是巧妙的将问题拆分成多个子问题,通过计算子问题而得到整体问题的解.而子问题又可以拆分成更多的子问题,从而用类似递推迭代的方法解决要求的问题.问题描述: 对于序列S和T,

随机推荐