ce n'est pas aussi simple, tu ne peux pas considérer tous les espace comme des séparateurs. de plus datainputstream est loin d'être approprié, (pour lire des byte, inputstream est suffisant).
Ce que je te recommande c'est de créer un BufferedFileReader (pour lire ligne par ligne) et ensuite, pour chaque ligne, faire un split
String[] premierElements = ligne.split(" (?!<)");
Ceci coupe sur tous les espaces non suivis de "<", ce qui devrais préserver ton email sous la forme d'une seule chaine
Tu aura alors en 0,1 et 2 la date, l'heure et l'id
en 3 la direction
en 4 l'email complet
en 5,6,7,... les paramètres.
Pour ce qui est du S=.... il faudra parcourir ces paramètres supplémentaires pour en repérer un qui commence par "S="
Bien sur ça suppose que tu n'a pas d'entrée plus tordu du style
Monsieur tartempion<tartempion@gmail.com>
Partager