有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何从1M文件集合中收集唯一的单词及其频率?

我只是想处理这个问题,但在这里和那里玩杂耍

import java.io.*;
import java.util.*;

public class file{
  public static void main(String[] args) throws Exception { 
    Scanner in = new Scanner(System.in);
    Scanner sc=null;
    int count=0,uwords=0;
    File folder = new File("<folder path>");// The collection of files
    File[] listOfFiles = folder.listFiles();
    HashMap<String,Integer> words_fre = new HashMap<String,Integer>();

    FileWriter fw = new FileWriter("abc.txt");
    //ArrayList<String> words = new ArrayList<String>();

for (File file : listOfFiles) {

    if (file.isFile()) {
        //System.out.println(file.getName());
     try{
      sc=new Scanner(/*new BufferedReader(new File*/(file));
       //sc.useDelimiter("\\W");


       while(sc.hasNext()){
        String s = sc.next().toString();
                     s = s.replaceAll("\\<.*?>","");

                     count++; // words count   
                     if(words_fre.containsKey(s))  
                          {  
                               int a = words_fre.get(s);  
                               words_fre.put(s,a+1);             
                          }  
                     else {  
                          words_fre.put(s,1);  
                          uwords++; // unique words count   
                        }

           }

      Object[] key =   words_fre.keySet().toArray();   
          Arrays.sort(key);  
          for (int i = 0; i < key.length; i++) {  
          //System.out.println(key[i]+"= "+words_fre.get(key[i]));
          fw.write(key[i]+" : "+words_fre.get(key[i]) +"\n"); 
        }


       }catch(IOException e)  
          {  
                System.out.println(e);  
           }

  }     

  }
           /*System.out.println("Total Words = "+count);  
           System.out.println("Unique Words = "+words_fre.size());*/

           fw.write("Total Words = "+count+"\n"); 
           fw.write("Unique Words = "+words_fre.size());          
         fw.close();
 }
} 

所以基本上我的输出是这样的 例如- : 3 16800 : 1 23-12-2010 : 1 7 : 1 6 : 2 8वीं : 2 अंशु : 1 अधिकतर : 2 अन्य : 1 अपने : 1 हो। : 1 ॥ : 1
: 3

我还需要删除括号中的第一个条目[:3]和第二个最后的条目[| |:1]以及最后一个条目[:3]


共 (1) 个答案

  1. # 1 楼答案

    可能在你的推拉之间,有人推动了一些改变。要找到答案,可以比较本地提交和远程提交。如果在拉取之后有任何新的提交/推送,并且在本地缺少它,这将是问题的根本原因。你可以在github上找到提交的来源。可以使用下面的命令

    首先使用命令git branch -r找到我们的确切远程名称

    git log master oneline获取本地提交列表

    git log oneline remote_name/master获取远程提交列表

    给出本地缺少的附加提交列表:

    git rev-list remote_name /master ^$(git rev-list master all)