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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 .
Svp aidez moi !!