IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Java Discussion :

ecrire sortie / out dans la console et un fichier


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite Avatar de laurentibus
    Inscrit en
    Mars 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mars 2008
    Messages : 875
    Par défaut ecrire sortie / out dans la console et un fichier
    bonjour,

    j'aimerais savoir si il y 'a un moyen d'écrire a la fois sur la console et dans un fichier ...
    j'ai trouver dans la FAQS comment rediriger les System.out avec un System.setOut mais moi j'aimerais que l'on puisse garder l 'affichage dans la console aussi ......... (car setout permet de rediriger vers 1 seul "endroit" )


    au pire je double tous mes system.out.println avec un writer qui m'ecrira dans mon fichier ..... mais bon si y as un moyen plus convivial à l'œil .....

    merci

  2. #2
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,


    Il y a un moyen tout simple en se créant une classe qui duplique une sortie, par exemple :
    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
    public class MultiOutputStream extends OutputStream {
     
    	private final OutputStream[] streams;
     
    	public MultiOutputStream(OutputStream...args) {
    		this.streams = args.clone();
    	}
     
    	@Override
    	public void close() throws IOException {
    		for (OutputStream out : this.streams) {
    			out.close();
    		}
    	}
     
    	@Override
    	public void flush() throws IOException {
    		for (OutputStream out : this.streams) {
    			out.flush();
    		}
    	}
     
    	@Override
    	public void write(byte[] b, int off, int len) throws IOException {
    		for (OutputStream out : this.streams) {
    			out.write(b, off, len);
    		}
    	}
     
    	@Override
    	public void write(byte[] b) throws IOException {
    		for (OutputStream out : this.streams) {
    			out.write(b);
    		}
    	}
     
    	@Override
    	public void write(int b) throws IOException {
    		for (OutputStream out : this.streams) {
    			out.write(b);
    		}
    	}
    }
    Ce qui sera écrit dans cet OutputStream sera envoyé à tous les OutputStream qu'il a reçu en paramètre.
    (note : cette classe est simpliste au niveau des exception, car si une exception survient sur un flux les suivant ne sont pas traité).


    Ce qui donnerait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    System.setOut(new PrintStream(
    		new MultiOutputStream(System.out, new FileOutputStream("out.txt"))
    		, true));

    a++

  3. #3
    Membre émérite Avatar de laurentibus
    Inscrit en
    Mars 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mars 2008
    Messages : 875
    Par défaut
    adiGuba,
    y'as rien à dire : t'es un big boss.

    merci.
    ++

  4. #4
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par laurentibus Voir le message
    bonjour,

    j'aimerais savoir si il y 'a un moyen d'écrire a la fois sur la console et dans un fichier ...
    j'ai trouver dans la FAQS comment rediriger les System.out avec un System.setOut mais moi j'aimerais que l'on puisse garder l 'affichage dans la console aussi ......... (car setout permet de rediriger vers 1 seul "endroit" )


    au pire je double tous mes system.out.println avec un writer qui m'ecrira dans mon fichier ..... mais bon si y as un moyen plus convivial à l'œil .....

    merci
    Sinon tu peux utiliser genre log4J et ajouter des appender (fichiers, console, ce que tu veux), ca gère plein de choses tout seul cette petite bête...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 02/12/2014, 23h20
  2. Ecrire en couleur dans la console d'éclipse
    Par JamesP dans le forum Eclipse Platform
    Réponses: 9
    Dernier message: 05/08/2009, 22h09
  3. Ecrire un rectangle dans la console
    Par Flodelarab dans le forum Général Java
    Réponses: 5
    Dernier message: 26/07/2009, 20h41
  4. ecrire du texte dans la console
    Par john stedd dans le forum Débuter
    Réponses: 2
    Dernier message: 05/10/2007, 09h57
  5. [VBS] Ecrire dans la console
    Par eown dans le forum VBScript
    Réponses: 10
    Dernier message: 31/07/2007, 14h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo