Bonjour,
je voudrais modifier la sortie standard, au lieu que ce soit la console win 32, il faudrait que ce soit un fichier texte.
Merci à ceux qui pourront m'aider .
Bonjour,
je voudrais modifier la sortie standard, au lieu que ce soit la console win 32, il faudrait que ce soit un fichier texte.
Merci à ceux qui pourront m'aider .








il te faut faire une redirection
ca marche sous windows ou linux:
echo toto > truc.txt
apres tu ouvre truc.txt et il y a ecrit toto dedant.
tu fais pareil pour ton execution, par exemple:
java -jar monApp.jar > log.txt
tu peux mettre un seul ' > ' ou deux ' >> ' selon que tu veuille ajouter la sortie a la fin du ficheir ou effacer le fichier puis ecrire dedant. Pour la sortie d erreur il te faut faire: 2> au lieu de >, et
2>> au lieu de >>. Ca marche sous linux, sous windows je me rappel plus et com j en ai pas sous la main, bah test...
en fait le principe c'est de creer un executable, donc l'utilisateur n'a pas a s'amuser a compiler et mettre le fichier de sortie.
J'ai vu sur l'api, qu'on pouvait modifier system.out.println() pour que la sortie soit autre chose, avec la methode System.setOut(PrintStream out)
Le problème est que je sais pas a quel moment je lui dis: "tiens la nouvelle sortie standard c'est mon fichier truc.html"
alors comment faire de mon truc.html la sortie standard ?
(je travaille avec jbuilder et jcreator)








ok tu veux changer la sortie std dans le code...
dc mm quand tu passe l appli a un utilisateur ca redirige tout seul.
bah soit tu lui donne un ficheir batch qui lance ton appli (ce qu on fait souvent) et ds ce cas ma solution fonctionne, soit tu le met dans le code mais la je vois ou est ton pb puisque tu me dis que tu sais comment faire ... comprend plus...
creer un PrintStream qui ecrit dans ton fichier et au debut de ton appli met l instruction que t as dis et voila, a moins que j ai aps tout compris :-?
ok c'est bon j'ai reussi
[/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 import java.io.*; try { // On crée le fichier où l'on va écrire. S'il existe déjà, on écrit à la suite FileOutputStream fos = new FileOutputStream("C:\\stdout.log",true); // On associe notre FileOutputStream à un PrintStream avec auto-flush // On déclare notre PrintStream comme sortie standard System.setOut(new PrintStream(fos,true)); // On test la redirection System.out.println("Affichage dans un fichier"); // On ferme notre fichier fos.close(); } catch (Exception e) { e.printStackTrace(); }
Partager