栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java对于目录下文件的单词查找操作代码实现

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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 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); 
  }
}

主要是关于文件目录中寻找文件,以及递归调用的相关操作。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持考高分网。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/136417.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号