[Java] Récupérer la sortie standard en file

Bonjour,
Bonjour,

Comment je pourrais récupérer la sortie standard de System.out.println dans un fichier texte par exemple.

Merci
Configuration: Windows XP
Firefox 3.5.3

7 réponses

  • Votes
  • Date
  • Date décroissante
  1. Contributeur
    Bonjour,

    Est-ce que ton programme consiste à récupérer des choses écrites sur la sortie standard par un autre programme, ou simplement que tu souhaites enregistrer dans un fichier ce que tu écris déjà sur la sortie standard ?
    1. Contributeur
      Le mieux est alors d'utiliser Log4j, qui est une bibliothèque avec des classes / fonctionnalités te permettant de gérer des fichiers de log. Renseigne toi là dessus, regarde des tutos, tu verras c'est simple à mettre en place, et au lieu d'utiliser des System.out.prin... tu log directement tes traces dans un objet qui pointe sur ton/tes fichiers de logs.
      1. Contributeur
        Bonjour,
        Tu peux définir un OutputStream pointant vers ton fichier de log, et utiliser la méthode System.setOut(OutputStream o) dans ton main (donc avant l'appel à toutes les méthodes effectuant des sysout).

        Cordialement,
        1. En faite, dans mon programme y a beaucoup de classe java qui écrivent sur la sortie standard, je voudrais récupérer ce qui est écrit par ces classes pour enregistrer le contenu dans un fichier log.

          MERCI
          1. Ok merci, c'est ce que j'utilise maitenant, en faite je travaille depuis le début avec log4j, mais j'ai voulu au lieu de parcourir et remplacer tout les System.out.println dans mes lignes de codes, j'ai voulu tout simplement récupérer le contenu du sortie standard et le sauvegarder dans le log .

            Merci
            1. Contributeur
              Par contre j'espère pour toi que c'est temporaire, parce que c'est assez crade de faire ça dans un programme, surtout si tu utilise déjà log4j ^^