2010-03-26 6 views
1

Je traite avec une API Java qui expose du commerce que la configuration de l'enregistrement suivant:Deux OutputStream au lieu d'un?

cplex.setOut(OutputStream arg0); 

Je voudrais avoir connecter à deux volets: un fichier et la console. Est-ce possible?

Répondre

3

Écrivez votre propre implémentation OutputStream qui délègue les appels aux méthodes write à deux OutputStreams enveloppés, un pour la console et un pour le fichier.

+0

Je réexpédié la journalisation log4j à partir de là et il fonctionne très bien. – Gerard

11

Je crois que c'est. Je voudrais user le apache commons io lib.

Par exemple

FileOutputStream fos = ...; 
TeeOutputStream brancher = TeeOutputStream(fos, System.out); 
cplex.setOut(brancher); 
+1

+1 cool c'est sympa! – Karussell

0

Facile:

cplex.setOut(new OutputStream() { 

    public void write(int b) throws IOException { 
     outputStream1.write(b); 
     outputStream2.write(b); 
    } 
}); 
Questions connexes