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 :

Compter le nombre de lignes


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2014
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Polynésie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2014
    Messages : 48
    Par défaut Compter le nombre de lignes
    Bonjour, j'ai fichier texte dont je souhaiterai compter le nombre de ligne. Pour chaque fin de ligne j'ai ajouté /
    voici une ligne du fichier:

    nom:prenom:adresse:255:pooy:ghiko:jiel:@:0/

    Maintenant je veux lire la ligne (on vas dire 3) je compte le nombre de ; avec le scanner, mais je bloque... je sais pas comment dire au scanner sc2 qu'apré 2 / Tu scan les :

    Code java : 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
     
    public void ficheClientRecuperer(GestClientUI gestClientUI)
    	{		
    		try 
            {
    			String champ;
    			int i;
    			int nbLigne= 0;
    			int compteur= gestClientUI.getCompteur();
     
    			Scanner sc = new Scanner(new File("Client.txt"));
    			Scanner sc2 = new Scanner(new File("Client.txt"));
    			sc.useDelimiter(Pattern.compile(":"));
    			sc2.useDelimiter(Pattern.compile(";"));
    			BufferedReader buff = new BufferedReader(new FileReader("Client.txt")); 
     
    			for(i=0;i<compteur;i++)
    			{	
     
    				if(nbLigne == compteur)
    				{
    					champ = sc.next();
    					gestClientUI.textNom.setText(champ);  
    					champ = sc.next();
    					gestClientUI.setStringPrenom(champ);
    					champ = sc.next();
    					gestClientUI.setStringAdresse(champ);    
    					champ = sc.next();
    					gestClientUI.setStringCodePostal(champ);
    					champ = sc.next();
    					gestClientUI.setStringVille(champ); 
    					champ = sc.next();
    					gestClientUI.setStringPays(champ);   
    					champ = sc.next();
    					gestClientUI.setStringTel(champ);   
    					champ = sc.next();
    					gestClientUI.setStringMel(champ);  
    					champ = sc.next();
    					stringCompteur = champ;
    					compteur = Integer.parseInt(stringCompteur);
    					gestClientUI.setCompteur(compteur);
    				}
    				nbLigne++;
    				 //System.out.println (nbLigne);
    			}
     
    			sc.close();
            }

    merci d'avance.

  2. #2
    Membre très actif Avatar de Sennad
    Homme Profil pro
    Développeur Java
    Inscrit en
    Août 2014
    Messages
    180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Août 2014
    Messages : 180
    Par défaut
    Salut,

    Il y a surement quelque chose que j'ai pas compris, mais pourquoi pas utiliser la méthode readLine() ?
    Tu te fais un compteur = 0,
    readLine();
    compteur++;
    readLine();
    compteur++;
    readLine();
    compteur++;
    ...

  3. #3
    Membre très actif Avatar de Sennad
    Homme Profil pro
    Développeur Java
    Inscrit en
    Août 2014
    Messages
    180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Août 2014
    Messages : 180
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
            int counter = 0;
            try {
                BufferedReader buff = new BufferedReader(new FileReader("Client.txt"));
                while(buff.readLine()!=null) {           
                     counter++;
                }
            } catch (Exception ex) {
                Logger.getLogger(JdbcProjectsDAO.class.getName()).log(Level.SEVERE, null, ex);
            }
            System.out.println(counter + "lines found");
    Mais ça ne doit pas être seulement ça, j'ai pas trop compris pourquoi tu parles des ";" et des ":" ?

  4. #4
    Membre chevronné Avatar de freddou17
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2013
    Messages
    341
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2013
    Messages : 341
    Par défaut
    Slt,
    Peux tu montrer plus de ligne stp?

    nom:prenom:adresse:255:pooy:ghiko:jiel:@:0/

    Maintenant je veux lire la ligne (on vas dire 3) je compte le nombre de ; avec le scanner, mais je bloque... je sais pas comment dire au scanner sc2 qu'apré 2 / Tu scan les :
    dans la ligne tu n'as que des ":" et le "/" correspondant à ton caractère de fin, peux tu expliquer "je sais pas comment dire au scanner sc2 qu'apré 2 /" = toute les deux lignes??

    ++

  5. #5
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2014
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Polynésie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2014
    Messages : 48
    Par défaut
    enfaite j'ai un fichier client avec nom, prénom etc. La fiche du client est sauvegarder sur une ligne et chaque donnés (nom prenom, etc) sont séparé par des : et la fin de la ligne et marqué par un / . L'utilisateur vas entrer le numéro de la fiche ( genre la fiche numéro 32 ) le numéro 32 sera stocké dans la variable compteur. Et la fiche 32 sera donc la ligne 32 ça sera donc le 31eme / qui sera scanné par sc2. Une fois le 31eme / trouvé je peux récupéré les donnés'nom prenom etc) du client. ( bref un peu casse tête).

    Je vais utiliser le morceau de code de Sennad (merci à toi d'ailleur) qui a l'air moins prise de tête x) .

    Merci à vous cordialement.

    Ps: voici mes lignes

    jf:john:2654laMarne:3654BP:Paris:France:2587478:mm@.pf:0/
    Hey:DD:DeGaule:3654BP:Londre:UK:258747896:ppp@mail:1/

  6. #6
    Membre très actif Avatar de Sennad
    Homme Profil pro
    Développeur Java
    Inscrit en
    Août 2014
    Messages
    180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Août 2014
    Messages : 180
    Par défaut
    Ok ça marche,
    Si tu as un problème, n'hésite pas à revenir vers nous !

  7. #7
    Membre très actif Avatar de Sennad
    Homme Profil pro
    Développeur Java
    Inscrit en
    Août 2014
    Messages
    180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Août 2014
    Messages : 180
    Par défaut
    Attention, en relisant le post, j'ai vu que je ne ferme pas le buffer dans le bout de code que je t'ai envoyé !
    Quand tu as fini tu fais buffer.close();
    C'est important :/ Désolé :/

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

Discussions similaires

  1. [Outils] Comment compter le nombre de lignes ?
    Par ChristopheOce dans le forum EDI/Outils
    Réponses: 3
    Dernier message: 18/04/2011, 12h36
  2. Réponses: 7
    Dernier message: 03/01/2006, 21h59
  3. Réponses: 2
    Dernier message: 06/11/2005, 23h38
  4. Réponses: 2
    Dernier message: 02/03/2004, 19h38
  5. [TListView] Compter le nombre de lignes
    Par agh dans le forum Composants VCL
    Réponses: 2
    Dernier message: 30/09/2002, 20h25

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