Retrouver les adresses mails dans un fichier texte
salut a vous. je suis appelé a écrire un programme qui recense toutes les adresses mails contenues dans un fichier texte mais je ne sais comment m'y prendre. je sais que je dois passer par les regex (expressions régulières ). aidez moi a pouvoir identifier les emails dans un fichier .
rechercher des adresses email dans un fichier txt
salut a vous. je tiens d'abord m'excuser pour n'avoir pas répondu a vos réponses .néanmoins, en me servant entre temps d'un cours télécharge sur ce site , j'ai pu avancer dans mon application mais il se trouve que je suis confronté aux problèmes suivant :
- L'application ne me renvoit pas les multiples adresses contenues dans mon fichier. que faire
voici mon corde :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
|
package tp.miage.lac;
import java.util.AbstractList;
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Tools {
private static Matcher matcher;
private static Pattern pattern;
private List<String> obj=null;
public Tools(){
pattern = Pattern.compile("^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,6}$", Pattern.CASE_INSENSITIVE);
obj = new ArrayList();
}
public List<String> searchMail(String emailStr){
Matcher matcher = pattern .matcher(emailStr.trim());
while(matcher.find()){
obj.add(matcher.group());
}
return obj ;
}
} |
au niveau de l'interface graphique , je procède comme-ci :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
|
private void ouvrirActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ouvrirActionPerformed
// TODO add your handling code here:
BufferedReader buffer=null;
File file=null;
JFileChooser chooser = new JFileChooser();
FileNameExtensionFilter filter = new FileNameExtensionFilter("Fichiers", "txt","rtf");
chooser.setFileFilter(filter);
int returnVal = chooser.showOpenDialog(this);
if(returnVal == JFileChooser.APPROVE_OPTION) {
file= chooser.getSelectedFile().getAbsoluteFile();
String path= file.getAbsolutePath();
try{
// Création du flux bufférisé sur un FileReader, immédiatement suivi par un
// try/finally, ce qui permet de ne fermer le flux QUE s'il le reader
// est correctement instancié (évite les NullPointerException)
buffer = new BufferedReader(new FileReader(path));
String line;
// Lecture du fichier ligne par ligne. Cette boucle se termine
// quand la méthode retourne la valeur null.
while((line = buffer.readLine()) != null) {
List<String> chaine= tools.searchMail(line);
System.out.println(chaine.toString());
}
} catch(IOException e){
e.printStackTrace();
}finally {
// dans tous les cas, on ferme le flux
try {
buffer.close();
} catch (IOException ex) {
ex.getCause();
}
}
}
}//GEN-LAST:event_ouvrirAction |