écrire le résultat dans un fichier texte
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:
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:
1 2 3
| Reprise# Resumption
session# session
***# *** |
2) F.1.txt:
Code:
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:
1 2
| Reprise de la session
** |
2) F.2.txt:
Code:
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:
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 :cry:
merci m'aider :(
Aussi comment éliminer ces "null" dans le résultat?