java实现英文文件单词搜索系统_java对于目录下文件的单词查找操作代码实现
这篇文章主要介绍了java对于目录下文件的单词查找操作代码实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
写入文件的目录。代码通过找目录下的文件,进行相关函数的操作。如果目录下面包含子目录。代码设有调用递归的方法,在寻找子目录下的文件
在进行相关的函数操作。函数主要是按用户输入的个数要求输出文件中出现次数最多的前几位字母。
package com.keshangone;
//将想要输出的数据写入新的文件里面
import java.util.*;
import java.io.*;
import java.util.Scanner;
public class zongword
{
static public void gongneng(String file1) throws IOException
{
System.out.println("想要输出前几个的单词");
Scanner sc1=new Scanner(System.in);
int www=sc1.nextInt();
int ww=0;
int ha=0;
Map map=new HashMap<>();//通过map保存映射,和数组类似
File file=new File(file1);
FileReader fr=new FileReader(file);
try
{
BufferedReader bd=new BufferedReader(fr);
String wen=null;
while((wen=bd.readLine())!=null)//读入一行数据
{
String []word=wen.split(" ");//通过空格将整行数据分成多个字符串并保存在字符串数组里
ha+=word.length;
for(int i=0;i
{
if(word[i].equals(" "))
{
continue;
}
if(map.containsKey(word[i].toLowerCase()))//检查集合中是否有这个元素
{
Integer a=map.get(word[i].toLowerCase());
a++;
map.put(word[i].toLowerCase(), a);//为他出现的次数加一
}
else
map.put(word[i].toLowerCase(),1);//如果从未出现过就将他的values赋值为一
}
map.put(" ",0);
}
fr.close();
}catch (Exception e)//程序的异常处理
{
e.printStackTrace();
}
File file2=new File("D:\\新建文件夹 (6)\\wen1.txt");
if(!file2.exists())
{
try
{
file2.createNewFile();
System.out.println("数据输出的指向文件不存在已经为您新建一个以保留运行结果请继续操作");
}
catch(Exception e)
{
e.printStackTrace();
}
}
FileWriter fw=new FileWriter(file2);
BufferedWriter bw=new BufferedWriter(fw);
Integer max1;
String max2="";
for(int b=1;b<=ha;b++)
{
max1=0;
max2=null;
//找出出现次数最多的单词
Set set=map.keySet();//构建map集合所有key对象集合
Iterator it=set.iterator();//创建集合迭代器
while(it.hasNext())
{
String key1=it.next();
Integer a2=map.get(key1);
if(a2>max1)
{
max1=a2;
max2=key1;
}
}
//主要是为了判断是否会出现出现次数相同的单词
Set set2=map.keySet();//构建map集合所有key对象集合
Iterator it2=set2.iterator();//创建集合迭代器
while(it2.hasNext())
{
String key2=it2.next();
Integer a3=map.get(key2);
if(a3==max1)
{
Set set3=map.keySet();//构建map集合所有key对象集合
Iterator it3=set2.iterator();//创建集合迭代器
while(it3.hasNext())
{
String key4=it3.next();
Integer a4=map.get(key4);
if(a4==a3)
{
if(key2.compareTo(key4)<0)
{
key2=key4;
}
}
}
if(max1==0)
{
break;
}
bw.write("出现次数排在第 "+b+" 位的单词是 "+key2+" 出现次数是 "+a3);
bw.newLine();
System.out.print("单词 "+key2+"次数"+a3+" ");
if(ww==www)
{
System.out.println();
break;
}
ww++;
map.put(key2,0);//输出之后让他的values变为0,防止阻碍后面的判断
}
}
if(ww==www)
{
System.out.println();
break;
}
}
System.out.println("相关数据已经全部写入相应的文件夹里(在屏幕上也进行了显示)");
bw.close();
fw.close();
}
static private void getDirectory(File file) throws IOException
{
File flist[] = file.listFiles();
if (flist == null || flist.length == 0) {
return;
}
for (File f : flist) {
if (f.isDirectory()) {
//这里将列出所有的文件夹
getDirectory(f);
//getDirectory(f);
} else
{
System.out.println("file==>" + f.getAbsolutePath());
gongneng( f.getAbsolutePath());
System.out.println();
}
}
}
static int q1=0;
static Scanner sc=new Scanner(System.in);
public static void main(String[] args)throws IOException
{
String path="D:\\新建文件夹 (10)";
File fm=new File(path);
getDirectory(fm);
}
}
主要是关于文件目录中寻找文件,以及递归调用的相关操作。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
java实现英文文件单词搜索系统_java对于目录下文件的单词查找操作代码实现相关推荐
- java实现英文文件单词搜索系统_Java实现 LeetCode 79 单词搜索
79. 单词搜索 给定一个二维网格和一个单词,找出该单词是否存在于网格中. 单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中"相邻"单元格是那些水平相邻或垂直相邻的单元格. ...
- 7z替换exe文件内容不能替换文件_Windows小技巧 批处理文件实现目录下文件批量打包压缩...
最近整理资料,发现很多 pdf 文档,占用了不少的存储空间,考虑使用 7-zip 进行压缩存储,由于文件比较多,且分散在不同目录下,一个个文件压缩比较繁琐.为了提高效率且,方便后面取用,所有打算捣鼓个 ...
- android assets 文件夹 复制,Android 中 Assets目录下 文件或文件夹的复制
1.文件或文件夹的复制 /* * 下面两个方法不是AsyncTask的接口 * * copyFileOrDir 目录复制 * copyFile 文件复制 */ private void copyFil ...
- 数值策划的自我修养(二):用VBA批量获取指定目录下文件的名字
目录索引 批量获取指定目录下文件的名字 批量获取指定目录下文件的名字 游戏项目的管理,自然少不了配置表的管理.今天记录的是如何在制作配置表管理工具时批量获取配置表文件夹下的配置表名并顺序写到一张Exc ...
- SHELL脚本之统计目录下文件及子目录数量
一.需求说明 需要统计某目录下的文件数量,事实上统计目录下文件数量只需要一条命令即可完成,写成shell脚本只是方便使用和展示.另外我们以后还可以在此脚本上进行扩展,统计指定类型的文件数量,指定文 ...
- 计算机毕业设计Java社交物联网的服务搜索系统(源码+系统+mysql数据库+lw文档)
计算机毕业设计Java社交物联网的服务搜索系统(源码+系统+mysql数据库+lw文档) 计算机毕业设计Java社交物联网的服务搜索系统(源码+系统+mysql数据库+lw文档) 本源码技术栈: 项目 ...
- Linux系统中一些目录和文件的详细解释(参照RHEL5.4)
linux有四种基本文件系统类型: –普通文件:如文本文件.c语言源代码.shell脚本等,可以用cat.less.more.vi等来察看内容,用mv来改名: –目录文件:包括文件名.子目录名及其指针 ...
- python实现文件搜索_python实现搜索指定目录下文件及文件内搜索指定关键词的方法...
本文实例讲述了python实现搜索指定目录下文件及文件内搜索指定关键词的方法.分享给大家供大家参考.具体实现方法如下: #!/usr/bin/python -O # -*- coding: UTF-8 ...
- 在 Java 中,如何批量读取本项目资源目录下的所有文件
在 Java 中,如何批量读取本项目资源目录下的所有文件 读取资源目录下的指定文件 方法 1:使用 JDK 中原始 API 方法 2:借助 Spring 附录 将 InputStream 转化为 by ...
最新文章
- memset函数详细说明
- ASP.NET中使用多个runat=server form
- java实现下载压缩文件_java实现文件压缩下载----压缩下载zip
- web服务器负载架构
- 【转载】单片机应用系统断电时的数据保护方法
- 二叉树 -- 5.1.1 Binary Tree Level Order Traversal-1 -- 图解
- 适合完全初学者的Python自学路线图和学习方法
- 听演讲的随笔--教育的最终目的是社会阶级分层
- Figma常用快捷键(Mac版)
- 一个USB设备超过其集线器端口的电源限制
- Kong 开源的的服务网格Kuma爬过了K8S这座大山
- 忘记windows密码解决办法(用户密码或SYSKEY)
- iPhone出现白苹果怎么修复?三分钟教你如何修复手机白苹果
- 【多校联赛】The Crime-solving Plan of Groundhog
- 使用FormData格式上传图像并预览图片
- python CNKI知网论文数据爬取
- 【Paper】2020_Anomaly Detection and Identification for Multiagent Systems Subjected to Physical Faults
- Rust的前景怎么样?值不值的学—Rust对比、特色和理念
- Linux 系统相关目录介绍
- 有限体积法(3)——一维扩散方程数值求解(第一类边界条件)
热门文章
- double write buffer
- David I 盛大之行及Delphi未来畅想
- [转]一个叫你看过后感动想哭的对白
- python函数可以递归调用吗_递归调用函数
- python读取mysql以html形式输出_python从mysql数据库提取出来的数据怎么在html里显示...
- java主要用来开发什么_java主要用来开发什么软件
- 王者为什么有些服务器在维护,王者荣耀服务器正在维护中怎么回事 进不去怎么办...
- oracle typehandler,Mybatis实现自定义的类型转换器TypeHandler
- Mac笔记本Postman升级为新版本后,打开时一直转圈,无法使用
- mysql 无法创建用户_无法在MySQL 5.6中创建用户