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

avec Java Discussion :

recupérer resultat de la console dans .txt


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Février 2011
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 85
    Par défaut recupérer resultat de la console dans .txt
    Bonsoir,
    s'il vous quelqu'un peut m'aider comment recupérer le resultat de la console de l'eclipse dans un fichier.txt en java? merci d'avance

  2. #2
    Membre Expert Avatar de rtg57
    Homme Profil pro
    Autodidacte
    Inscrit en
    Mars 2006
    Messages
    1 343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 343
    Par défaut
    Bonjour,

    les sorties console qui vous intéressent sont-elles les messages d'exceptions ?

    Si oui, en interceptant les exceptions, vous pouvez obtenir le texte grâce à la methode getMessage().
    Vous pouvez ainsi décider de diriger ce flux vers un fichier grâce à java.io.PrintWriter:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    try
    {
      PrintWriter fluxSortie = new PrintWriter( "texte console.txt" );
     
      fluxSortie.printf( exception.getMessage());
      fluxSortie.close();
    }
    catch( Exception e )
    {
     System.err.println( e );
    }
    En espérant que je ne sois pas hors sujet...

    @ bientôt...

  3. #3
    Modérateur
    Avatar de wax78
    Homme Profil pro
    R&D - Palefrenier programmeur
    Inscrit en
    Août 2006
    Messages
    4 096
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : R&D - Palefrenier programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 096
    Par défaut
    Ceci pourrait t'aider.

    Voici un code qui redirige toutes les sorties consoles (ERR et OUT) vers un fichier TEXTE et vers la console....

    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
    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
    84
    85
     
    public class ConsoleRedirector extends PrintStream
    {
    	static OutputStream logfile;
    	static PrintStream  oldStdout;
    	static PrintStream  oldStderr;
    	public static String LogFile = "";
     
    	ConsoleRedirector(PrintStream ps)
    	{
    		super(ps);
    	}
     
     
     
    	// Starts copying stdout and 
    	//stderr to the file f.
    	public static void start(String f_OUT) throws IOException
    	{
    		LogFile = f_OUT;
    //		 Save old settings.
    		oldStdout = System.out;
    		oldStderr = System.err;
     
    		// Create/Open logfile.
    		logfile = new PrintStream(new FileOutputStream(f_OUT));
     
    		// Start redirecting the output.
    		System.setErr(new ConsoleRedirector(System.err));
    		System.setOut(new ConsoleRedirector(System.out));
    	}
     
    	// Restores the original settings.
    	public static void stop()
    	{
    		System.setErr(oldStderr);
    		System.setOut(oldStdout);
     
    		try
    		{
                                     logfile.flush();
    			logfile.close();
    		}
    		catch (Exception e)
    		{
    			e.printStackTrace();
    		}
    	}
     
    //	 PrintStream override.
    	@Override
    	public void write(int b)
    	{
    		try
    		{
    			logfile.write(b);
     
    		}
    		catch (Exception e)
    		{
    			e.printStackTrace();
    			setError();
    		}
     
    		super.write(b);
    	}
     
    	// PrintStream override.
    	@Override
    	public void write(byte [] buf, int off, int len)
    	{
    		try
    		{
    			logfile.write(buf, off, len);
     
    		}
    		catch (Exception e)
    		{
    			e.printStackTrace();
    			setError();
    		}
     
    		super.write(buf, off, len);
    	}
    }
    Que l'on demarre et stop avec les methods start et stop

    Rtg : Il manquerait pas un flush dans ton code ? (a moins que le close n'appele le flush ?)
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Membre Expert Avatar de rtg57
    Homme Profil pro
    Autodidacte
    Inscrit en
    Mars 2006
    Messages
    1 343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 343
    Par défaut
    Bonsoir,

    apparemment il n'y a pas besoin de flush(), j'ai essayé ce code avec l'exemple suivant:
    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
     
    try
    {
      int t = 0;
      int i = 0;
      t = i / t; // Provoque l'exception E
    }
    catch ( Exception E )
    {
      try
      {
        PrintWriter fluxSortie = new PrintWriter( "texte console.txt" );
        fluxSortie.printf( E.getMessage());
        fluxSortie.close();
      }
      catch( Exception e )
      {
        System.err.println( e );
      }
    }
    Le fichier est créé dans le répertoire où se trouve le code JAVA est contient le texte "/ by zero"

    Donc je pense que la vidange du buffer vers le fichier doit se faire avec l'instruction close().
    Dans la doc, il est indiqué que cette instruction libère toutes les ressources associées à l'objet.

    @ bientôt...

  5. #5
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    rtg: il vaux mieux utiliser exception.printStackTrace(PrintWriter)

  6. #6
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    290
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 290
    Par défaut
    Dans eclipse, menu Run > Run configurations..., dans l'onglet Common de ta configuration de Run, tu peux mettre un fichier dans lequel sera redirigée la sortie console.

Discussions similaires

  1. Recupérer Resultat d'une VueSQL dans Corps d'un mail
    Par progscoubi dans le forum Développement de jobs
    Réponses: 1
    Dernier message: 14/09/2012, 11h10
  2. Réponses: 2
    Dernier message: 16/04/2010, 08h29
  3. Réponses: 2
    Dernier message: 26/03/2009, 12h00
  4. comment mettre le resultat d'une select dans fich txt
    Par StyleXP dans le forum Langage
    Réponses: 3
    Dernier message: 31/05/2006, 15h07
  5. Réponses: 5
    Dernier message: 02/03/2006, 11h04

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