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 :

Caractère retour en arrière


Sujet :

avec Java

  1. #1
    Membre confirmé
    Inscrit en
    Janvier 2009
    Messages
    168
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 168
    Par défaut Caractère retour en arrière
    Bonjour à tous,

    Est-il possible de retourner en arrière ? c'est à dire faire le contraire de

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.out.println("toto")
    En fait comme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.out.println("toto")
    revient à la ligne suivante

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.out.print("toto")
    reste dans la même ligne

    Est-il possible de revenir à la ligne juste avant ?

    Merci

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juillet 2009
    Messages
    130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 130
    Par défaut
    Je n'ai jamais essayé, mais je pense que sur une sortie console c'est impossible.

  3. #3
    Membre chevronné
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2010
    Messages
    158
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2010
    Messages : 158
    Par défaut
    En envoyant des caractères spéciaux dans la console, on peut obtenir divers effets (ajouter des couleurs, effacer des lignes...).
    Par contre cela dépend de la console et donc ce n'est pas forcément portable.



    Sous Linux, "\n" est un saut de ligne (tu vas au début de la ligne suivante) et "\r" est un retour chariot (tu reviens au début de la même ligne).

    Donc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.out.println("toto");
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.out.print("toto\n");
    sont deux façons d'écrire "toto" dans la console et de sauter une ligne.

    Par contre,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.out.print("toto\r");
    va écrire "toto" dans la console puis revenir en début de ligne, pour ré-écrire par-dessus "toto".

    Ces manipulations fonctionnent dans la console Linux en ligne de commande, mais pas dans la console d'Eclipse par exemple.

  4. #4
    Membre confirmé
    Inscrit en
    Janvier 2009
    Messages
    168
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 168
    Par défaut
    Ok merci bien pour vos réponses.

    J'utilise un ETL, Talend qui me permet d'écrire un code de type

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.out.print("toto")
    Comme j'ai besoin de savoir le temps d'exécution de ce que je programme Talend me permet de le faire. Du coup j'ai ce genre d'affichage


    21/03/2011 14:23:05 : toto
    21709 milliseconds

    Je voulais savoir si c'est possible d'avoir cet affichage :

    21/03/2011 14:23:05 : toto : 21709 milliseconds

    raison pour laquelle j'ai pensé à modifier le print pour annuler le retour automatique que Talend fait

    Merci

  5. #5
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2008
    Messages
    328
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Mexique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2008
    Messages : 328
    Par défaut
    Bonjour,

    Il suffirait d'afficher le tout en une seule fois quand on a les millis:

    -stocker la 1ère ligne sans l'imprimer pour obtenir
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String toto = "dateEtHeureDebut + " : toto : ";
    ......
    et, quand on a les millis, afficher
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    System.out.println(toto + lesMillis + " milliseconds")
    // print ou println en fonction du nombre d'interlignes (1 ou 2) désirés après l'affichage
    Cordialement,

    Dan

  6. #6
    Membre chevronné
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2010
    Messages
    158
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2010
    Messages : 158
    Par défaut
    Si je comprends bien :
    - tu ne programmes pas directement en Java, mais tu manipules des instructions spécifiques à Talend
    - Talend transforme ton instruction afficher "toto" en println("toto") avec un saut de ligne imposé

    Je ne connais pas Talend (je crois qu'on manipule des flux de traitement sous forme graphique ?).
    S'il t'est possible de conserver des informations (dans une variable ou autrement) et de les afficher plus tard, la solution proposée par danimo est la plus simple : affiche tout d'un coup, et comme ça pas de saut de ligne qui s'intercale au milieu de tes données.
    Sinon... je crois malheureusement que tu ne pourras rien faire pour "effacer" le retour à la ligne imposé. Dans la console Linux "\b" représente un retour arrière, mais je ne pense pas que ça te permette de revenir avant le début de la ligne en cours.

Discussions similaires

  1. caractère retour en arrière
    Par wissem.ba dans le forum Développement de jobs
    Réponses: 1
    Dernier message: 21/03/2011, 22h48
  2. Javascript comment faire le retour en arrière
    Par bozykely3 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 11/07/2007, 16h39
  3. Retour en arrière?
    Par Ryuuku dans le forum Visual C++
    Réponses: 7
    Dernier message: 20/03/2007, 19h23
  4. Possibilité de retour en arrière ?
    Par Ganak dans le forum Windows XP
    Réponses: 5
    Dernier message: 28/10/2006, 10h16
  5. [FTP]Retour en arrière
    Par aDamas dans le forum Réseau/Web
    Réponses: 2
    Dernier message: 21/02/2006, 16h55

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