Выход один файл первый N наиболее часто встречающийся английские слова

Идеи:

Траверса файла от начала до конца, траверс, чтобы прочитать каждое слово из файла.

Для того, чтобы пройти, чтобы положить слова в 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 }

 

рекомендация

отwww.cnblogs.com/022414ls/p/11795111.html