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

Entrée/Sortie Java Discussion :

Lecture d'un fichier .txt contenant 10 caractères dans un tableau


Sujet :

Entrée/Sortie Java

  1. #1
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Octobre 2012
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2012
    Messages : 59
    Points : 62
    Points
    62
    Par défaut Lecture d'un fichier .txt contenant 10 caractères dans un tableau
    voilà mon problème, il faut que j'implémente la lecture d'un fichier .txt qui ne contient que dix caractères se présentant sous cette forme : [A
    Z
    G
    J
    U
    K
    E
    B
    V
    D]
    mais je suis obligée car c'est un TP d'utiliser un tableau de dix éléments CHAR

    svp j'ai bidouillé un petit truc mais sa ne marche pas , le tableau se rempli qu'avec la lettre A (c'est à dire la première lettre du fichier), et je ne comprend pas!!

    svp aidez moi

    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
    package TP3;
     
    import java.io.BufferedReader;
    import java.io.FileInputStream;
    import java.io.InputStream;
    import java.io.InputStreamReader;
     
    public class JoinArray {
     
    	/** Lecture du fichier text avec récupération de chaque  caractère dans un Array*/
    	public static char [] readTab(String fichsource){
    		char tableau[] = new char[10];
    		try{
    			InputStream ips=new FileInputStream(fichsource); 
    			InputStreamReader ipsr=new InputStreamReader(ips);
    			BufferedReader br=new BufferedReader(ipsr);
    			String ligne;
     
    			while ((ligne=br.readLine())!=null)
    				if(ligne.length() > 0) {
    					for (int i=0; i < 10; i++ ){
    				         tableau[i]=(ligne.charAt(0));   
    				      }
     
    			br.close();
    			System.out.println("Lecture du fichier "+fichsource+" ...Réussie");
    		}
    		}
    		catch (Exception e){
    			System.out.println(e.toString());
    		}
    		return tableau;
    	}
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    char []TableauR=readTab("R.txt");
    System.out.println(TableauR);
    	}
     
    }

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    int i = 0
    while ((ligne=br.readLine())!=null){
    	if(ligne.length() > 0) {
    	         tableau[i++]=(ligne.charAt(0));   
    	}
    }
    Mais ton code va lancer une exception si le nombre de lignes du fichier dépasse 10, utilise un List plutôt qu'un tableau.

    A+.

  3. #3
    Modérateur
    Avatar de kolodz
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    2 211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

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

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 211
    Points : 8 316
    Points
    8 316
    Billets dans le blog
    52
    Par défaut
    Il peut très bien utiliser un tableau et ajouter une condition de sortie de son while pour prévenir de l'exception :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if(i>=tableau.length){
    break;
    }
    Ainsi, on respecte la consigne d'utiliser un élément bas niveau et on a toutjours un programme sûr.

    Cordialement,
    Patrick Kolodziejczyk.
    Si une réponse vous a été utile pensez à
    Si vous avez eu la réponse à votre question, marquez votre discussion
    Pensez aux FAQs et aux tutoriels et cours.

  4. #4
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Si on veut vraiment limiter le nombre d'entré du tableau
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    while ((ligne=br.readLine())!=null && i < tableau.length)
    A+.

  5. #5
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Octobre 2012
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2012
    Messages : 59
    Points : 62
    Points
    62
    Par défaut
    Citation Envoyé par andry.aime Voir le message
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    int i = 0
    while ((ligne=br.readLine())!=null){
    	if(ligne.length() > 0) {
    	         tableau[i++]=(ligne.charAt(0));   
    	}
    }
    Mais ton code va lancer une exception si le nombre de lignes du fichier dépasse 10, utilise un List plutôt qu'un tableau.

    A+.
    Merci pour vos réponses, mais la condition tu TP est bien claire, utiliser un tableau de 10 caractères PUISQUE LES FICHIERS txt SUR LESQUELS les traitements se feront sont fixes et ne contiennent que 10 caractères, mais c'est bon j'ai trouvé ou ça coinçait dans le code

  6. #6
    Traductrice
    Avatar de Mishulyna
    Femme Profil pro
    Développeur Java
    Inscrit en
    Novembre 2008
    Messages
    1 504
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

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

    Informations forums :
    Inscription : Novembre 2008
    Messages : 1 504
    Points : 7 840
    Points
    7 840
    Par défaut
    Citation Envoyé par masoum Voir le message
    ...mais c'est bon j'ai trouvé ou ça coinçait dans le code
    Bonjour,

    Ce serait gentil de ta part de poster la solution trouvée (pas forcément le code) pour donner un coup de main aux autres débutants.
    Chaque fois que tu dis "je ne peux pas", n'oublie pas d'ajouter le mot "encore".

  7. #7
    Modérateur

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

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Citation Envoyé par Mishulyna Voir le message
    Ce serait gentil de ta part de poster la solution trouvée (pas forcément le code) pour donner un coup de main aux autres débutants.
    Ben, c'est ce qu'a montré andry.aime, il me semble que c'est assez clair.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

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

Discussions similaires

  1. Lecture fichier CSV contenant des caractères accentués
    Par enicnath dans le forum Général Python
    Réponses: 25
    Dernier message: 24/03/2015, 12h10
  2. [AC-2010] Problème d'import fichier txt contenant des caractères spéciaux
    Par stsym dans le forum VBA Access
    Réponses: 2
    Dernier message: 27/03/2014, 05h08
  3. [DOM] Probleme lecture fichier XML contenant le caractère '&'
    Par TsCyrille dans le forum Format d'échange (XML, JSON...)
    Réponses: 3
    Dernier message: 12/10/2010, 22h56
  4. Réponses: 26
    Dernier message: 18/03/2006, 15h33

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