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 :

Récupérer une chaine de caractères dans un fichier texte


Sujet :

Entrée/Sortie Java

  1. #1
    Nouveau membre du Club
    Inscrit en
    Juillet 2009
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 50
    Points : 31
    Points
    31
    Par défaut Récupérer une chaine de caractères dans un fichier texte
    Bonjour tout le monde .
    Je dispose du fichier text suivant:

    nom et prénom : Alain xxxxx
    age: 18
    profession: étudiant
    province : Loire

    Mon objectif est de récupérer seulement la province , c à dire "Loire". Voici le code que j'ai utilisé
    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
    import java.io.*;
    import java.util.*;
     
     
    public class MAinoff {
     
     
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
     
    		String fichier ="C:\\users\\r\\Desktop\\fichier.txt";
     
    				//lecture du fichier texte	
    				try{
    					InputStream ips=new FileInputStream(fichier); 
    					InputStreamReader ipsr=new InputStreamReader(ips);
    					BufferedReader br=new BufferedReader(ipsr);
    					String str,ligne="",S="province :";
     
    					StringTokenizer st = new StringTokenizer(ligne);
     
     
    				 while ((ligne = br.readLine()) != null) {
    					 str = st.nextToken();
    					if (str.equals(S)){	 
    						 System.out.println(str);}
     
    					 }
    				 }
    				catch (Exception e){
    					System.out.println(e.toString());
    				}
     
     
    				 }}
    La console m'affiche le message suivant : java.util.NoSuchElementException
    quelqu'un pourrait m'aider ?
    Merci

  2. #2
    Membre actif Avatar de Mamypirate
    Homme Profil pro
    Samouraï
    Inscrit en
    Mai 2011
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Samouraï
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2011
    Messages : 108
    Points : 211
    Points
    211
    Par défaut
    Bonjour,

    ton StringTokenizer est initialisé avec "ligne" qui est vide à ce moment.

    Donc,
    entraîne l'exception que tu cites.

    Essai comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    try{
    	InputStream ips=new FileInputStream(fichier); 
    	InputStreamReader ipsr=new InputStreamReader(ips);
    	BufferedReader br=new BufferedReader(ipsr);
    	String ligne="",S="province :";
     
    	while ((ligne = br.readLine()) != null) {
    		if (ligne.contains(S)){	 
    			System.out.println(ligne);
    		}
    	}
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    try {
    findSignature();
    } catch(InspirationNotFoundException e) {
    e.printStackTrace();
    }

  3. #3
    Nouveau membre du Club
    Inscrit en
    Juillet 2009
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 50
    Points : 31
    Points
    31
    Par défaut
    Merci de ta réponse mais ce code retourne toute la ligne alors que moi je cherche seulement à afficher "Loire" si tu peux m'aider plus ..

  4. #4
    Membre du Club
    Homme Profil pro
    Ingénieur en Télécommunication
    Inscrit en
    Février 2011
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Ingénieur en Télécommunication
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2011
    Messages : 23
    Points : 40
    Points
    40
    Par défaut Response
    Essaye donc ceci :
    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
    try{
    	InputStream ips=new FileInputStream(fichier); 
    	InputStreamReader ipsr=new InputStreamReader(ips);
    	BufferedReader br=new BufferedReader(ipsr);
    	String ligne="",S="province :";
     
    	while ((ligne = br.readLine()) != null) {
    		if (ligne.contains(S)){
    			// On commence apres le ":"
    			int debut = ligne.indexOf(S) + S.length();
    			// On fini au premier espace trouve apres le nom du province
    			int fin = ligne.indexOf(" ", debut);
    			String motRecherche = ligne.substring(debut, fin);
    			System.out.println(motRecherche);
    		}
    	}
    }
    Joelisata RABEHARISOLO
    jjoelisata@yahoo.fr
    @ s6igma

  5. #5
    Nouveau membre du Club
    Inscrit en
    Juillet 2009
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 50
    Points : 31
    Points
    31
    Par défaut
    C'est logique ce que t'as fait mais ça donne rien

  6. #6
    Membre confirmé
    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
    Points : 459
    Points
    459
    Par défaut
    Salut,

    Pour récupérer la province:

    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
    import java.io.*;
       import java.util.*;
     
     
       public class MAinoff
       {
     
          public static void main(String[] args)
          {
     
             String fichier ="RecupererProvince.txt";
     
             String str,ligne="",S="province :";
             int ctr = 0;
     
             try
             {     
                BufferedReader br = new BufferedReader(new FileReader(fichier));
     
                //lecture du fichier texte 
                try
                {      
     
                   while ((ligne = br.readLine()) != null)
                   {
                   //if (str.equals(S)){
                      if (ligne.startsWith(S))
                      {   
                         System.out.println(ligne);
                         // on a la ligne >> province : Loire
                         int index = ligne.indexOf(":");
                         String province = ligne.substring(index +2);
                         System.out.println(province);
                         ctr++;
                      }  
                   }
     
                   if(ctr == 0)
                   {
                      System.out.println("erreur: pas de ligne province :");
                   }
                } 
                finally
                {
                // dans tous les cas, on ferme nos flux
                   br.close();
                }
             }
                catch (IOException e)
                {
                   System.out.println(e.toString());
                }
          }
       }
    Cordialement,

    Dan

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

Discussions similaires

  1. [Batch] extraction caractère d'une chaine de caractère dans un fichier texte
    Par Zoïïc dans le forum Scripts/Batch
    Réponses: 4
    Dernier message: 24/06/2014, 19h20
  2. Réponses: 12
    Dernier message: 11/06/2012, 19h14
  3. Réponses: 1
    Dernier message: 05/11/2009, 15h19
  4. Remplacer une chaine de caractère dans un fichier texte.
    Par Empty_body dans le forum VBA Access
    Réponses: 1
    Dernier message: 19/01/2008, 11h16
  5. Réponses: 3
    Dernier message: 25/07/2006, 08h40

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