Éliminer les mots inutiles
Bonjour,
je suis debutante en java , je cherche à créer une classe java qui me permet de supprimer des mots inutile (mot vide) comme : the , that, is, be, before, because, about, then, can,!,?,..... a partir d'un fichier txt .j'ai crée ce code :
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 38 39 40 41 42 43 44 45 46 47 48 49 50 51
|
public class MotVide {
public static void main(String[] args){
String fichier ="D:/application/entrer lemm/ambler.txt";
// exemple d'une liste
ArrayList<String> mots = new ArrayList<String>(Arrays.asList("to", "the", "a","or","on","is","in","be","are","is"));
String ch = "";
boolean res ;
int j;
//lecture du fichier texte
try{
InputStream ips=new FileInputStream(fichier);
InputStreamReader ipsr=new InputStreamReader(ips);
BufferedReader br=new BufferedReader(ipsr);
FileWriter fileWriter=new FileWriter("D:\\inputlemma.txt");
BufferedWriter bufferedWriter=new BufferedWriter(fileWriter);
String ligne;
while ((ligne=br.readLine())!=null ){
System.out.println(ligne);
String str[]=ligne.split(" ");
for (int i =0; i<str.length;i++ )
{
ch = str[i];
j=0 ;
res =false ;
while(j<mots.size() && res ==false)
{
if ( mots.get(j).equalsIgnoreCase(ch))
res= false ;
else
res = true ;
j++;
}
System.out.println(res);
if (res=true)
{ bufferedWriter.write(str[i]);
bufferedWriter.newLine(); }
}
}
br.close();
}
catch (Exception e){
System.out.println(e.toString());
}
}
} |
le résultat de code me donner un nouveaux fichier qui contient le même contenue que le fichier initiale, il ne me permet pas d’éliminer les mot vide je pense que la problème dans la fonction equals :
la variable res prend toujours la valeur true :oops: .
Svp aidez moi !!:cry: