Advertisement
Guest User

Untitled

a guest
Apr 18th, 2014
50
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.00 KB | None | 0 0
  1. import java.io.*;
  2. import java.util.*;
  3. import java.lang.Object;
  4. /**
  5. * Write a description of class Index here.
  6. *
  7. * @author Olivier Glaus
  8. * @version 06.04.2014
  9. */
  10. public class Deconstructeur_de_mots
  11. {
  12.  
  13. //private Map<String,Integer> m;
  14. private final static Map<String,Integer> m = new HashMap<String,Integer>();
  15. private final static Map<String,Integer> words = new HashMap<String,Integer>();
  16. private ArrayList<String> stopWords;
  17.  
  18. /**
  19. * Constructor for objects of class Index
  20. */
  21. public Deconstructeur_de_mots()
  22. {
  23. //HashMap<String,Integer> words
  24. // L'arrayList stopWords ou les éléments du fichier txt seront enregistrés
  25. ArrayList<String> stopWords = new ArrayList<String>();
  26. }
  27.  
  28. /**
  29. * On enregistre les StopWords dans l'ArrayList stopWords
  30. */
  31. public void stopWords()
  32. {
  33. FileReader words = null;
  34. BufferedReader BF = null;
  35. String text;
  36. String element;
  37. try{
  38. words = new FileReader("stopwords.txt");
  39. BF = new BufferedReader(words);
  40. while((text = BF.readLine())!=null)
  41. {
  42. String delimiters = " ";
  43. StringTokenizer collection = new StringTokenizer(text, delimiters);
  44. element = (String)collection.nextElement();
  45. stopWords.add(element);
  46. }
  47. System.out.println("StopWords enregistrés correctement!");
  48. }
  49. catch(IOException e)
  50. {
  51. System.out.println(e);
  52. }
  53. }
  54.  
  55. /////////////////////////////////////////////////////////////////////////////////
  56.  
  57. /**
  58. * Compte chaque mot d'un fichier donné.
  59. */
  60. public void count(String fileName)
  61. {
  62. //stopWords();
  63. FileReader Fr = null;
  64. BufferedReader BF = null;
  65. String texte;
  66. String element;
  67. //Map<String,Integer> m = new HashMap<String,Integer>();
  68. try {
  69. Fr = new FileReader("corpus_de_documents/FR/" + fileName);
  70. BF = new BufferedReader(Fr);
  71. while((texte=BF.readLine())!=null)
  72. {
  73. String delimiters = "\",.;:?!()*[]' <>/_{}#%-@";
  74. StringTokenizer collection = new StringTokenizer(texte, delimiters);
  75. while (collection.hasMoreElements())
  76. {
  77. element = (String)collection.nextElement();
  78. Integer count = m.get(element);
  79.  
  80. //if(!stopWords.contains(element)){
  81. if(count == null)
  82. {
  83. m.put(element, 1);
  84. }
  85. else
  86. {
  87. m.put(element, ++count);
  88. }
  89. // }
  90. }
  91. //words.putAll(m);
  92. }
  93. }
  94. catch(IOException e)
  95. {
  96. System.out.println(e);
  97. }
  98. finally
  99. {
  100.  
  101. // //System.out.println("lefichier : "+fileName+" contient : ");
  102. // //System.out.println("Nombre d'occurences de chaque mot :");
  103. // Set<Map.Entry<String, Integer>> mots = words.entrySet();
  104. // Iterator<Map.Entry<String, Integer>> iter = mots.iterator();
  105. // while(iter.hasNext())
  106. // {
  107. // Map.Entry<String, Integer> paire = iter.next();
  108. // //System.out.println(paire);
  109. // }
  110. // //words.putAll(m);
  111. try
  112. {
  113. if(Fr!=null)
  114. {
  115. Fr.close();
  116. }
  117. }catch(IOException e){}
  118.  
  119. }
  120. }
  121.  
  122. /////////////////////////////////////////////////////////////////////////////////
  123.  
  124. /**
  125. * Cette méthode permet l'extraction de plusieurs fichiers à la fois et enregistre
  126. * leurs mots dans la même hash table
  127. */
  128. public void Extracteur (String fichiers)
  129. {
  130. String delimiters = " ";
  131. StringTokenizer collection = new StringTokenizer(fichiers, delimiters);
  132. String element;
  133. while(collection.hasMoreElements()){
  134. element = (String)collection.nextElement();
  135. count(element);
  136. Set<Map.Entry<String, Integer>> mots = m.entrySet();
  137. //Iterator<Map.Entry<String, Integer>> iter = mots.iterator();
  138. Iterator<Map.Entry<String, Integer>> iter = mots.iterator();
  139. while(iter.hasNext())
  140. {
  141. Map.Entry<String, Integer> paire = iter.next();
  142. System.out.println(paire);
  143. }
  144. //
  145. }
  146. //
  147. // while(m.hasNext())
  148. // {
  149. // System.out.println(m.get(i));
  150. // }
  151. }
  152.  
  153. public void showWords ()
  154. {
  155. //Set<Integer> keySet = words.keySet();
  156. }
  157. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement