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

Java Discussion :

Comment lire plusieurs lignes à l'écran


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2009
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 119
    Par défaut Comment lire plusieurs lignes à l'écran
    Bonjour,
    je veux écrire à l'écran "011010001
    011001010
    011011000
    011011000
    011011110
    011000101
    "

    et le lire dans une chaine et après chaque ligne j'ajoute '\n'.
    mon problème est que le prog, quand il arrive à la dernière ligne qui est vide, reste en attente d'une entrée et exactement à cette commande "choix += sEntréeTampon.readLine();".

    NB/ j'ai fait "while (choix != null)" car j'ai cru que la variable choix sera vide quand readLine() ne retourne rien!

    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
    public static String lectureEcraan() {
    		// pour récupérer les données user et les mettre en mémoire
    		InputStreamReader sEntréeIn = new InputStreamReader(System.in);
    		BufferedReader sEntréeTampon = new BufferedReader(sEntréeIn);
     
    		String choix = null;
     
    		try {
    			choix = sEntréeTampon.readLine();
     
    			while (choix != null) {
    				choix += '\n';
    				choix += sEntréeTampon.readLine();
    			}
     
    		} catch (IOException e) {
    			e.printStackTrace();
    		}
     
    		return choix;
    	}

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    readLine ne retourne null que quand la lecture est terminée. Ce n'est pas le cas ici, ici c'est juste une ligne de longueur zéro, et qui ne termine rien du tout.

    readLine retourne donc une chaîne de longueur zéro : ""
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2009
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 119
    Par défaut Comment lire plusieurs lignes à l'écran
    merci pour l'éclaircissement mais comment ferais je pour que ma boucle arrive à sa fin et passe au reste du code car je veux lire toute cette information "011010001
    011001010
    011011000
    011011000
    011011110
    011000101
    "
    et la rendre "011010001\n011001010\n011011000\n011011000\n011011110\n011000101\n" et mon programme fait ça mais quand il arrive à la dernière ligne, qui est vide, reste en attente?

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Eh bien tu fais en sorte qu'il cesse de rester en attente quand il tombe sur une ligne vide.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2009
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 119
    Par défaut
    oui c'est ce que j'ai dans la tête mais comment faire ça dans mon code?

  6. #6
    Membre Expert
    Inscrit en
    Mai 2006
    Messages
    1 364
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 1 364
    Par défaut
    Un truc genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    while((choix != null) && ("".equals(choix)==false))
    si tu n'autorise pas les lignes vides dans ton fichier. Si tu veux les autoriser, il faut ajouter un if dans ton while qui ne fait le traitement que si la ligne est non vide.

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

Discussions similaires

  1. [VB]Comment lire plusieurs videos simultanément
    Par fablebab dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 12/04/2006, 11h22
  2. lire plusieurs lignes avec fgetc
    Par Mousk dans le forum C
    Réponses: 7
    Dernier message: 25/03/2006, 18h24
  3. Réponses: 5
    Dernier message: 27/02/2006, 09h14
  4. Comment insérer plusieurs lignes en incrémentant la pk ?
    Par PamelaGeek dans le forum Requêtes
    Réponses: 2
    Dernier message: 15/02/2006, 13h39
  5. Comment lire plusieurs lignesd'un fichier ?
    Par BECHE dans le forum Langage
    Réponses: 8
    Dernier message: 06/01/2006, 20h12

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