try{ FileInputStream fichier = new FileInputStream("C:/Users/Fadia/test.txt"); int c = 0; while ( fichier.available() > 0 ) { char current = (char) fichier.read(); System.out.print(current); //si le caractere lu est un saut de ligne if(current=='\n'){ System.out.println("saut de ligne"); int val = (tableDeFrequence.get('\n'+"") != null ? tableDeFrequence.get('\n'+"").intValue() : 0); tableDeFrequence.put('\n'+"",(Integer)(val+1)); } else //si le caractere lu est une tabulation if(current=='\u0009'){ System.out.println("tabulation"); int val = (tableDeFrequence.get('\u0009'+"") != null ? tableDeFrequence.get('\u0009'+"").intValue() : 0); tableDeFrequence.put('\u0009'+"",(Integer)(val+1)); } else { int val = (tableDeFrequence.get(current+"") != null ? tableDeFrequence.get(current+"").intValue() : 0); tableDeFrequence.put(current+"",(Integer)(val+1)); } } fichier.close(); }catch(IOException exception){ JOptionPane.showMessageDialog(null,"Impossible de lire ce fichier.Vérifier l'emplacement du fichier.", "Message d'erreur.", JOptionPane.ERROR_MESSAGE); } voici le text file: A beautiful day. How are you, nice thank you. voici le output apres execution de mon code:(f,1) ( ,7) (d,1) (e,3) (b,1) (c,1) (A,1) (a,4) (n,2) (o,3) ( ,4) (l,1) (H,1) (.,2) (k,1) ( ,4) (h,1) (,,1) (i,2) (w,1) (u,4) (t,2) (r,1) (y,3)