Exemplo n.º 1
0
  public void load() {

    int lasttime = 0;
    int currenttime = 0;
    TimedMessage currentMessage = new TimedMessage();

    String word = "";
    char caract;

    if (f == null) return;
    try {
      // bon, pas super bo, mais ressort avec le return de fin de fichier
      while (true) {
        // lit premier caractere de la ligne courante, si fin de fichier, return
        if ((caract = (char) f.read()) == (char) (-1)) {
          parsedFile.put(new Integer(lasttime), currentMessage);
          indexmax = lasttime;
          Atom[] max = {Atom.newAtom("/indexmax"), Atom.newAtom(indexmax)};
          outlet(2, max);
          return;
        }

        // recherche indice temps
        word = "";
        while (caract != ' ') {
          word += caract;
          caract = (char) f.read();
        }

        currenttime = Integer.parseInt(word);

        // si temps courant > ligne precedente -> enregistre messages temps precedent
        if (currenttime > lasttime) {
          parsedFile.put(new Integer(lasttime), currentMessage);
          lasttime = currenttime;
          currentMessage = new TimedMessage();
        }

        // recupere phrase courante
        word = "";
        caract = (char) f.read();
        while (caract != '\n') {
          word += caract;
          caract = (char) f.read();
        }
        currentMessage.addMessage(Atom.parse(word));
      }
    } catch (IOException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }
  }