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(); } }