Идеи:
Траверса файла от начала до конца, траверс, чтобы прочитать каждое слово из файла.
Для того, чтобы пройти, чтобы положить слова в hash_map, и подсчитать, сколько раз появляется слово.
Определение глобального контроля переменных N вывода, сколько слов
Велоспорт по количеству слов, чтобы сравнить все получить наибольшее количество вхождений, выход, удалить. N время цикла.
Источник:
demo1 Penalty пакет для; // перемещение файла с начала до конца, траверс прочитать каждое слово из файла. // траверс поставить слова в hash_map в, и подсчитать, сколько раз появляется слово. Импорт java.io.BufferedInputStream //; Импорт java.io.BufferedReader; Импорт java.io.File; Импорт java.io.FileInputStream; Импорт java.io.FileOutputStream; Импорт java.io.IOException; Импорт java.io.InputStreamReader ; Импорт java.io.OutputStreamWriter; // Импорт java.io.Reader; // чтение из текстовых документов , открытый класс writeFromFile { открытые статические строки readTxtFile (String Filepath) { попробовать { Строка кодирования = "GBK"; Файл = новый файл (Filepath); Если (file.isFile () && File.Exists ()) {// существует файл определяется InputStreamReader чтения = новый InputStreamReader (новый FileInputStream (файл), кодирование); // формат кодирования во внимание BufferedReader BufferedReader BufferedReader новый новый = (Read); Строка lineTxt = NULL; Строка lineText = ""; в то время как ((lineTxt BufferedReader.readLine = ( !)) = NULL) { lineText + = (lineTxt); } read.close (); вернуть lineText; } с еще { System.out.println ( "не указанные документы"); } } улов (Exception E) { System.out.println ( "ошибка чтения содержимого файла"); e.printStackTrace (); } возвращение нуль; } государственной статической силы daochu (String A) бросает IOException { Файл File = новый файл ( "E: / TXT文件夹/daochu.txt"); FileOutputStream ФОС = новый FileOutputStream (файл); OutputStreamWriter Osw = новый OutputStreamWriter (FOS, "UTF-8"); osw.append (а); osw.close (); fos.close (); } }
1 пакет demo1; 2 3 импорта java.io.IOException; 4 импорта java.util.HashMap; 5 импорта java.util.Iterator; 6 7 общественного класс Тонгжи { 8 конечных статическая INT N = 10 ; 9 10 общественных статические Строка StatList (String ул) { 11 StringBuffer SB = новый StringBuffer (); 12 HashMap <String, Integer> имеет = новый HashMap <String, Integer> (); // 打开一个哈希表 13 String [] = str.split SLIST ( "[Z-ZA-A ^ \«] +" ); 14 для ( INT I = 0; I <slist.length; I ++ ) { 15 IF (Has.containsKey (SLIST! [I])) { // Если это не слово 16 // Узор Pattern.compile PA = ( "[^ A-Za-г] +"); // регулярные выражения строка . 17 // Сличитель матч = pa.matcher (SLIST [I]); 18 // ЕСЛИ (match.matches ()!) 19. has.put (SLIST [I], 1 ); 20 } еще { // Если есть, то количество раз , плюс 1 21 has.put (SLIST [I] has.get (SLIST [I] +). 1); 22 } 23 } 24 25 // 遍历карта 26 итератор <String> итератор = has.keySet () итератор (). 27 Строка [] = новый String [10 ]; 28 INT с [] = новый INT [10 ]; 29 30 для ( INT I = 0; я <N; я ++ ) { 31 итератора = . Has.keySet () итератора (); 32 в то время как (iterator.hasNext ()) { 33 Строка слово =(Строка) iterator.next (); 34 если (ы [I] < has.get (слово)) { 35 с [I] = has.get (слово); 36 а [I] = слово; 37 } 38 } 39 sb.append ( "单词:").. Добавить (а [I]) добавление (»次数") .append (has.get (A [I])) добавить (" \ г \ п. " ); 40 has.remove (а [I]); 41 } 42 возврата sb.toString (); 43 } 44 45 общественных статический недействительный основной (String [] арг) { 46 //TODO автоматической генерации метод заглушка 47 Строка Filepath = "E: / TXT文件夹/Harry.txt" ; 48 Строка SZ = writeFromFile.readTxtFile (Filepath); 49 Строка ltxt = NULL ; 50 System.out.println (ltxt = StatList (SZ)); 51 попытка { 52 writeFromFile.daochu (ltxt); 53 } поймать (IOException е) { 54 // TODO автоматическая генерация улова Блокировать 55 e.printStackTrace (); 56 } 57 } 58 }