Bonjour,
mon problème c'est que le code ne puisse pas écrire le résultat dans le fichier texte, qui est la lecture de plusieurs fichiers, il retourne le résultat du dernier fichier seulement, alors que le résultat s'affiche correctement dans le console,
voila le 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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintStream;
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
 
public class TranslationExtraction {
	public static void main(String[] args) throws IOException {
		/*final File folder = new File("C:\\Users\\hp\\Desktop\\27Decembre2013\\Resultat-trad");
		final File folderNP = new File("C:\\Users\\hp\\Desktop\\27Decembre2013\\NP-6Janvier");*/
		final File folderTrad = new File("C:\\Users\\hp\\Desktop\\27Decembre2013\\tr1");
		final File folderNP = new File("C:\\Users\\hp\\Desktop\\27Decembre2013\\np1");
			File[] listOfFilesTrad = folderTrad.listFiles();
			for (int i = 0; i < listOfFilesTrad.length; i++) {
 			    File fileEntryTrad = listOfFilesTrad[i];
 			 System.out.println("***"+fileEntryTrad);
 			  File[] listOfFilesNP = folderNP.listFiles();
 			for (int j = 0; j < listOfFilesNP.length; j++) {
  			    File fileEntryNP = listOfFilesNP[i];
  			   System.out.println("***"+fileEntryNP);	  
		BufferedReader sourceDictionnaire = new BufferedReader(new FileReader(fileEntryTrad));
		BufferedReader fichierATraduire = new BufferedReader(new FileReader(fileEntryNP));
 
		Map<String, String> dictionnaire = lireDictionnaire(sourceDictionnaire);
		afficherDictionnaire(dictionnaire);
		traduire(fichierATraduire, dictionnaire);
			}	}
	}
    private static Map<String, String> lireDictionnaire(BufferedReader sourceDictionnaire ) throws IOException {
		Map<String, String> dictionnaire = new HashMap<String, String>();
 
		String definition;
		while ((definition = sourceDictionnaire .readLine()) != null) {
			String[] contenuDefinition = definition.split("# ");
			dictionnaire.put(contenuDefinition[0], contenuDefinition[1]);
		}
		return dictionnaire;
	}
 
	private static void afficherDictionnaire(Map<String, String> dictionnaire) {
		for (Entry<String, String> traduction : dictionnaire.entrySet()) {
		}
		System.out.println("");
	}
 
	private static void traduire(BufferedReader fichierATraduire, Map<String, String> dictionnaire) throws IOException {
		//System.out.println("*******************************************************");
		//System.out.println("************** Extraction des traductions *************");
		String phraseATraduire;
		//BufferedWriter out = new BufferedWriter(new FileWriter("C:/Users/HP/workspace/extraireNPanglais.txt"));
		PrintStream ps = null;
		String encoding = "UTF-8";
		ps = new PrintStream(new File("C:/Users/HP/workspace/extraireNPanglais.txt"),encoding);
		  System.setOut(ps);	
		ps.flush();
		//out.flush();
		while ((phraseATraduire = fichierATraduire.readLine()) != null) {
			String[] motsATraduire = phraseATraduire.split(" ");
			StringBuilder traductionPhrase = new StringBuilder();
			for (int i = 0; i < motsATraduire.length; i++) {
				String traduction = dictionnaire.get(motsATraduire[i]);
				traductionPhrase.append(traduction);
				if (i >= motsATraduire.length - 1) {
					break;
				}
				traductionPhrase.append(" ");
 
			//	out.append("");
 
			}
			System.out.println(traductionPhrase);
			//out.append(traductionPhrase+"\n");
		}
		//out.close();
		ps.close();
		System.out.println("****************");
	}
}
le contenu du premier dossier tr1:
1) F.1.txt:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
Reprise# Resumption
session# session
***# ***
2) F.1.txt:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Vous# You
avez# have
souhaité# requested
un# a
débat# debate
ce# this
sujet# subject
dans# in
prochains# next few
jours# days
cours# during
cette# this
session# part-session
***# ***
le contenu du premier dossier np1:
1) F.1.txt:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
Reprise de la session
**
2) F.2.txt:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
un débat à ce sujet dans les prochains jours au cours de cette période de session
ce sujet dans les prochains jours au cours de cette période de session
les prochains jours au cours de cette période de session
cette période de session
session
**
Comme résultat j'obtien que ce résultat:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
a null null this subject in null next few days null during null this null null part-session
this subject in null next few days null during null this null null part-session
null next few days null during null this null null part-session
this null null part-session
part-session
null
Il ne garde pas le résultat du permier fichier aussi
merci m'aider
Aussi comment éliminer ces "null" dans le résultat?