91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

java對于目錄下文件的單詞查找操作代碼實現

發布時間:2020-08-22 16:53:54 來源:腳本之家 閱讀:180 作者:悄悄成長 欄目:編程語言

這篇文章主要介紹了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<String,Integer> 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<word.length;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<String> set=map.keySet();//構建map集合所有key對象集合
      Iterator <String> it=set.iterator();//創建集合迭代器
      while(it.hasNext())
      {
        String key1=it.next();
        Integer a2=map.get(key1);
        if(a2>max1)
        {
          max1=a2;
          max2=key1;
        }
      }
      //主要是為了判斷是否會出現出現次數相同的單詞
      Set<String> set2=map.keySet();//構建map集合所有key對象集合
      Iterator <String> it2=set2.iterator();//創建集合迭代器
      while(it2.hasNext())
      {
        String key2=it2.next();
        Integer a3=map.get(key2);
        if(a3==max1)
        {
          Set<String> set3=map.keySet();//構建map集合所有key對象集合
          Iterator <String> 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); 
  }
}

主要是關于文件目錄中尋找文件,以及遞歸調用的相關操作。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

扶风县| 婺源县| 红安县| 清远市| 贵德县| 从江县| 万宁市| 即墨市| 溧阳市| 乌兰察布市| 莎车县| 天全县| 正镶白旗| 中卫市| 青州市| 高平市| 元阳县| 孝义市| 长寿区| 平定县| 鄂州市| 沧源| 涞源县| 苍山县| 鲁山县| 察雅县| 眉山市| 拜城县| 岚皋县| 马山县| 汉源县| 商城县| 抚州市| 辽阳市| 朝阳区| 紫阳县| 太湖县| 铁岭县| 宜宾市| 九龙城区| 桂东县|