コード例 #1
0
  public static void main(String[] args) throws Exception {
    String[] args2 = new String[3];
    args2[0] =
        "/Users/EsferaDePandora/Copy/2015/CICLO 2/CC2003 ALGORITMOS Y ESTRUCTURAS DE DATOS/Hojas de trabajo/HT09 - BST y MAPEO/HT9 proyecto/src/words.txt";
    args2[1] =
        "/Users/EsferaDePandora/Copy/2015/CICLO 2/CC2003 ALGORITMOS Y ESTRUCTURAS DE DATOS/Hojas de trabajo/HT09 - BST y MAPEO/HT9 proyecto/src/text.txt";
    args2[2] = "5";

    if (args2.length > 1) {
      File wordFile = new File(args2[0]);
      File textFile = new File(args2[1]);

      ///////////////////////////////////////////////////////////////////
      //  1 SimpleSet
      //  2 Red Black Tree
      //  3 Splay Tree
      //  4 Hash Table
      //  5 TreeMap (de java collection framework)
      ///////////////////////////////////////////////////////////////////

      int implementacion = Integer.parseInt(args2[2]);
      BufferedReader wordreader;
      BufferedReader textreader;
      int verbs = 0;
      int nouns = 0;
      int adjectives = 0;
      int adverbs = 0;
      int gerunds = 0;
      long starttime;
      long endtime;

      // VERIFICA QUE PARAMETROS EXISTEN
      if (wordFile.isFile() && textFile.isFile()) {
        // Leer archivos
        try {
          wordreader = new BufferedReader(new FileReader(wordFile));
          textreader = new BufferedReader(new FileReader(textFile));
        } catch (Exception ex) {
          System.out.println("Error al leer!");
          return;
        }

        ///////////////////////////////////////////////////////////////////
        WordSet words = WordSetFactory.generateSet(implementacion);
        ///////////////////////////////////////////////////////////////////

        String line = null;
        String[] wordParts;

        // LEE ARCHIVO
        starttime = System.currentTimeMillis();
        line = wordreader.readLine();
        while (line != null) {
          wordParts = line.split("\\."); // lo que esta entre comillas es una expresi�n regular.
          if (wordParts.length == 2) {
            words.add(new Word(wordParts[0].trim(), wordParts[1].trim()));
          }
          line = wordreader.readLine();
        }
        wordreader.close();
        endtime = System.currentTimeMillis();

        System.out.println("Palabras cargadas en " + (endtime - starttime) + " ms.");

        starttime = System.currentTimeMillis();
        line = textreader.readLine();
        String[] textParts;
        Word currentword;
        Word lookupword = new Word();

        while (line != null) {
          // SEPARA PALABRAS
          textParts = line.split("[^\\w-]+");

          // VERIFICA EL TIPO
          for (int i = 0; i < textParts.length; i++) {
            lookupword.setWord(textParts[i].trim().toLowerCase());
            currentword = words.get(lookupword);
            if (currentword != null) {
              if (currentword.getType().equals("v-d")
                  || currentword.getType().equals("v")
                  || currentword.getType().equals("q")) verbs++;
              else if (currentword.getType().equals("g")) gerunds++;
              else if (currentword.getType().equals("a-s")
                  || currentword.getType().equals("a-c")
                  || currentword.getType().equals("a")) adjectives++;
              else if (currentword.getType().equals("e")) adverbs++;
              else nouns++;
            }
          }

          line = textreader.readLine();
        }
        textreader.close();
        endtime = System.currentTimeMillis();
        System.out.println("Texto analizado en " + (endtime - starttime) + " ms.");

        ///////////////////////////////////////////////////////////////////
        System.out.println("El texto tiene:");
        System.out.println(verbs + " verbos");
        System.out.println(nouns + " sustantivos");
        System.out.println(adjectives + " adjetivos");
        System.out.println(adverbs + " adverbios");
        System.out.println(gerunds + " gerundios");
        ///////////////////////////////////////////////////////////////////
      } else {
        System.out.println("No encuentro los archivos :'( ");
      }
    } else {
      System.out.println("Faltan Parametros.");
    }
  }