最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java對于目錄下文件的單詞查找操作代碼實(shí)現(xiàn)

 更新時(shí)間:2019年11月05日 09:41:28   作者:悄悄成長  
這篇文章主要介紹了java對于目錄下文件的單詞查找操作代碼實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

這篇文章主要介紹了java對于目錄下文件的單詞查找操作代碼實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

寫入文件的目錄。代碼通過找目錄下的文件,進(jìn)行相關(guān)函數(shù)的操作。如果目錄下面包含子目錄。代碼設(shè)有調(diào)用遞歸的方法,在尋找子目錄下的文件

在進(jìn)行相關(guān)的函數(shù)操作。函數(shù)主要是按用戶輸入的個(gè)數(shù)要求輸出文件中出現(xiàn)次數(shù)最多的前幾位字母。

package com.keshangone;

//將想要輸出的數(shù)據(jù)寫入新的文件里面
import java.util.*;
import java.io.*;
import java.util.Scanner;
public class zongword
{
  static public void gongneng(String file1) throws IOException
  {
    System.out.println("想要輸出前幾個(gè)的單詞");
    Scanner sc1=new Scanner(System.in);
    int www=sc1.nextInt();
    int ww=0;
    int ha=0;
    Map<String,Integer> map=new HashMap<>();//通過map保存映射,和數(shù)組類似
    File file=new File(file1);
    FileReader fr=new FileReader(file);
    try
    {
      BufferedReader bd=new BufferedReader(fr);
      String wen=null;
      while((wen=bd.readLine())!=null)//讀入一行數(shù)據(jù)
      {
        String []word=wen.split(" ");//通過空格將整行數(shù)據(jù)分成多個(gè)字符串并保存在字符串?dāng)?shù)組里
        ha+=word.length;
        for(int i=0;i<word.length;i++)
        {
          if(word[i].equals(" "))
          {
            continue;
          }
          if(map.containsKey(word[i].toLowerCase()))//檢查集合中是否有這個(gè)元素
          {
             Integer a=map.get(word[i].toLowerCase());
             a++;
             map.put(word[i].toLowerCase(), a);//為他出現(xiàn)的次數(shù)加一
          }
          else
            map.put(word[i].toLowerCase(),1);//如果從未出現(xiàn)過就將他的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("數(shù)據(jù)輸出的指向文件不存在已經(jīng)為您新建一個(gè)以保留運(yùn)行結(jié)果請繼續(xù)操作");
      }
      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;
      //找出出現(xiàn)次數(shù)最多的單詞
      Set<String> set=map.keySet();//構(gòu)建map集合所有key對象集合
      Iterator <String> it=set.iterator();//創(chuàng)建集合迭代器
      while(it.hasNext())
      {
        String key1=it.next();
        Integer a2=map.get(key1);
        if(a2>max1)
        {
          max1=a2;
          max2=key1;
        }
      }
      //主要是為了判斷是否會(huì)出現(xiàn)出現(xiàn)次數(shù)相同的單詞
      Set<String> set2=map.keySet();//構(gòu)建map集合所有key對象集合
      Iterator <String> it2=set2.iterator();//創(chuàng)建集合迭代器
      while(it2.hasNext())
      {
        String key2=it2.next();
        Integer a3=map.get(key2);
        if(a3==max1)
        {
          Set<String> set3=map.keySet();//構(gòu)建map集合所有key對象集合
          Iterator <String> it3=set2.iterator();//創(chuàng)建集合迭代器
          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("出現(xiàn)次數(shù)排在第 "+b+" 位的單詞是 "+key2+" 出現(xiàn)次數(shù)是 "+a3);
          bw.newLine();
          System.out.print("單詞 "+key2+"次數(shù)"+a3+" ");
          if(ww==www)
          {
            System.out.println();
            break;
          }
          ww++;
          map.put(key2,0);//輸出之后讓他的values變?yōu)?,防止阻礙后面的判斷
        }
      }
      if(ww==www)
      {
        System.out.println();
        break;
      }
    }
    System.out.println("相關(guān)數(shù)據(jù)已經(jīng)全部寫入相應(yīng)的文件夾里(在屏幕上也進(jìn)行了顯示)");
    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); 
  }
}

主要是關(guān)于文件目錄中尋找文件,以及遞歸調(diào)用的相關(guān)操作。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • java冒泡排序和快速排序代碼

    java冒泡排序和快速排序代碼

    本文主要介紹了java冒泡排序和快速排序的實(shí)例代碼。具有很好的參考價(jià)值。下面跟著小編一起來看下吧
    2017-04-04
  • MyBatis配置不同級別的日志輸出

    MyBatis配置不同級別的日志輸出

    MyBatis提供多種日志框架集成,如SLF4J、Log4j2、Logback等,通過配置日志框架和調(diào)整日志級別,可以實(shí)現(xiàn)詳細(xì)的SQL日志記錄,本文就來介紹一下,感興趣的可以了解一下
    2024-12-12
  • spring boot接收請求常用注解示例詳解

    spring boot接收請求常用注解示例詳解

    這篇文章介紹了Spring Boot中常用的接收請求的注解,包括`@RequestBody`、`@PathVariable`、`@RequestParam`和`@DateTimeFormat`,并提供了每個(gè)注解的示例,感興趣的朋友跟隨小編一起看看吧
    2025-02-02
  • SpringBoot詳細(xì)講解異步任務(wù)如何獲取HttpServletRequest

    SpringBoot詳細(xì)講解異步任務(wù)如何獲取HttpServletRequest

    在使用框架日常開發(fā)中需要在controller中進(jìn)行一些異步操作減少請求時(shí)間,但是發(fā)現(xiàn)在使用@Anysc注解后會(huì)出現(xiàn)Request對象無法獲取的情況,本文就此情況給出完整的解決方案
    2022-04-04
  • java stringbuffer的用法示例

    java stringbuffer的用法示例

    這篇文章主要介紹了java stringbuffer的用法示例,字符串緩沖區(qū),是一個(gè)容器(當(dāng)返回到的是String時(shí)而且長度不確定,數(shù)據(jù)類型不確定時(shí)就可以用StringBuffer)其實(shí)底層還是數(shù)組,只是被封裝了,對外提供了方法,初始容量為16個(gè)字符
    2014-01-01
  • spring data簡化jpa開發(fā)_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    spring data簡化jpa開發(fā)_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    這篇文章主要介紹了spring data簡化jpa開發(fā),本文主要講述 Spring Data JPA,希望能夠深入學(xué)習(xí) Spring 和 JPA,有興趣的可以了解下
    2017-09-09
  • Spring Boot加載配置文件的完整步驟

    Spring Boot加載配置文件的完整步驟

    這篇文章主要給大家介紹了關(guān)于Spring Boot加載配置文件的完整步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者使用Spring Boot具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • SpringBoot圖文并茂帶你掌握devtools熱啟動(dòng)

    SpringBoot圖文并茂帶你掌握devtools熱啟動(dòng)

    這篇文章主要介紹springBoot插件工具熱部署Devtools,本文分步驟給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-06-06
  • Java異常處理學(xué)習(xí)心得

    Java異常處理學(xué)習(xí)心得

    本篇文章給大家詳細(xì)講述了學(xué)習(xí)Java異常處理學(xué)習(xí)的心得以及原理介紹,對此有興趣的朋友參考下吧。
    2018-01-01
  • JavaWeb中轉(zhuǎn)發(fā)與重定向的區(qū)別小結(jié)

    JavaWeb中轉(zhuǎn)發(fā)與重定向的區(qū)別小結(jié)

    轉(zhuǎn)發(fā)和重定向是JavaWeb中常用的兩種頁面跳轉(zhuǎn)方式,它們在實(shí)現(xiàn)上有一些區(qū)別,本文主要介紹了JavaWeb中轉(zhuǎn)發(fā)與重定向的區(qū)別小結(jié),具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-10-10

最新評論

辽宁省| 德江县| 漯河市| 崇文区| 迁安市| 彰武县| 新绛县| 凤庆县| 五家渠市| 凤台县| 广安市| 镇安县| 赤峰市| 长岭县| 曲阳县| 金平| 白山市| 稻城县| 株洲县| 通化县| 泌阳县| 古交市| 怀化市| 大兴区| 永顺县| 黄骅市| 抚顺市| 临江市| 巴里| 将乐县| 鹰潭市| 威远县| 库车县| 宁蒗| 章丘市| 上饶县| 灵石县| 温泉县| 贵州省| 天长市| 夏河县|