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:
le contenu du premier dossier tr1:
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("****************"); } }
1) F.1.txt:
2) F.1.txt:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Reprise# Resumption session# session ***# ***
le contenu du premier dossier np1:
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 ***# ***
1) F.1.txt:
2) F.2.txt:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Reprise de la 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 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 **
Il ne garde pas le résultat du permier fichier aussi
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
merci m'aider
Aussi comment éliminer ces "null" dans le résultat?
Partager