cs_elhadi213
Messages postés10Date d'inscriptionlundi 7 mars 2011StatutMembreDernière intervention25 mai 2012
-
25 déc. 2011 à 19:09
cs_Julien39
Messages postés6414Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention29 juillet 2020
-
31 mars 2012 à 08:14
salut
je doit programmer une bouton qui doit extraire les x premier caractéres d'un mot entré arab(proclitiques possibles et x décrimente quand je ne trouve pas le proclitique) et les compares par des proclitiques existe dans un fichier .txt
voila le pgm du bouton:
try {
BufferedReader ff = new BufferedReader(new FileReader("C:/Users/ELHADI/Documents/proc-verbe.txt"));
x=5;
Mot2.setText("");
if (!proc_trouv){
while ((lig = ff.readLine())!= null) {
while (x>0){
if (Mot.getText().length()- x>=3){
proc_test = Mot.getText(0,x);
if (proc_test==lig){
System.out.println(proc_test);
Mot2.append("-"+proc_test);
proc_trouv=true;
}else{
System.out.println("nnnn");
proc_trouv=false;
}
}x--;}
}
}
j'ai réussi a extraire les x premiers caractéres mais quand j'ai fait la comparaison je ne trouve pas les proclitiques dans le mot
cs_Julien39
Messages postés6414Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention29 juillet 2020372 25 déc. 2011 à 21:46
Bonjour,
La ligne suivante : if (proc_test==lig) est une comparaison des références et non du contenu du mot. Teste ca :
String t1 = "texte";
String t2 = "texte";
System.out.println(t1==t2);//Retourne false car les références des objets sont différentes
System.out.println(t1.equals(t2));//retourne true cas le contenu des chaines est le même
System.out.println(t1.compareTo(t2)==0);//idem
cs_elhadi213
Messages postés10Date d'inscriptionlundi 7 mars 2011StatutMembreDernière intervention25 mai 2012 27 déc. 2011 à 19:41
pour proc_test et lig les sont de type String, mes chaines de caractères sont du langue arabe alors je pense que le problème posé est l'encodage du texte, j'ai essayé plusieurs encodage et le résultat quand j'utilise sysout est des point d'intérogation "???" (le nbr des point d'int = le nbr des caractères du mots proc_test)
cs_Julien39
Messages postés6414Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention29 juillet 2020372 28 déc. 2011 à 08:19
Sur ce point, je ne peux pas t'aider, je n'ai jamais travaillé avec un fichier écrit en arabe.
Sur ce site, c'est assez impressionnant le nombre de personnes qui ont des problèmes avec la langue arabe et l'encodage dans leur code java.
Si tu trouves une solution satisfaisante, et que tu en as envie, pourrais tu poster un tutoriel sur ce site expliquant comment gérer les fichiers écrits en arabe ?