Flask接口签名sign原理与实例代码浅析
241
2022-12-23
java对于目录下文件的单词查找操作代码实现
这篇文章主要介绍了java对于目录下文件的单词查找操作代码实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
写入文件的目录。代码通过找目录下的文件,进行相关函数的操作。如果目录下面包含子目录。代码设有调用递归的方法,在寻找子目录下的文件
在进行相关的函数操作。函数主要是按用户输入的个数要求输出文件中出现次数最多的前几位字母。
package com.keshangone;
//将想要输出的数据写入新的文件里面
import java.util.*;
import java.io.*;
import java.util.Scanner;
public class zongword
{
static publihttp://c 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
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 []wohttp://rd=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 Iterator while(it.hasNext()) { String key1=it.next(); Integer a2=map.get(key1); if(a2>max1) { max1=a2; max2=key1; } } //主要是为了判断是否会出现出现次数相同的单词 Set Iterator while(it2.hasNext()) { String key2=it2.next(); Integer a3=map.get(key2); if(a3==max1) { Set 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); } } 主要是关于文件目录中寻找文件,以及递归调用的相关操作。
{
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
Iterator
while(it.hasNext())
{
String key1=it.next();
Integer a2=map.get(key1);
if(a2>max1)
{
max1=a2;
max2=key1;
}
}
//主要是为了判断是否会出现出现次数相同的单词
Set
Iterator
while(it2.hasNext())
{
String key2=it2.next();
Integer a3=map.get(key2);
if(a3==max1)
{
Set
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);
}
}
主要是关于文件目录中寻找文件,以及递归调用的相关操作。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~