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 :

probleme lecture fichier


Sujet :

Entr�e/Sortie Java

  1. #1
    Membre confirm�
    Femme Profil pro
    �tudiant
    Inscrit en
    Mars 2012
    Messages
    104
    D�tails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activit� : �tudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2012
    Messages : 104
    Par d�faut probleme lecture fichier
    Bonsoir,
    j'ai r�ussi � lire un fichier ligne par ligne en java. maintenant je cherche comment chercher dans un linge sur une information bien pr�cise.
    par exemple. la ligne qu'ai j'ai besoin est le suivant:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    <process:hasLocal rdf:resource="#_GERMANY"/>
    pour cela j'�crit le code suivant dans ma programme java :
    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
     
       while (((ligne=br.readLine())!=null) && (test ==false))
      {
         stringArray = ligne.toCharArray(); 
         int lengths = ligne.length();
         if(lengths>12)
         {	
            if((stringArray[13]=='l') && (stringArray[14]=='o') 
               &&(stringArray[15]=='c')&&(stringArray[16]=='a')
    	   &&(stringArray[17]=='l'))
          {
    							System.out.println("yoooopi");
    								test = true;
           }
         }
       }
    le probl�me est que lorsque je fais l'ex�cution pas � pas je trouve que mon programme n'ex�cute pas le code suivant:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    if((stringArray[13]=='l') && (stringArray[14]=='o') 
               &&(stringArray[15]=='c')&&(stringArray[16]=='a')
    	   &&(stringArray[17]=='l'))
    SVP aidez moi.
    Merci d'avance

  2. #2
    Membre habitu�
    Inscrit en
    F�vrier 2013
    Messages
    10
    D�tails du profil
    Informations forums :
    Inscription : F�vrier 2013
    Messages : 10
    Par d�faut
    S'il s'agit d'un fichier xml, il est recommand� d'utiliser "Saxon":
    http://saxon.sourceforge.net/saxon7.0/api-guide.html


    Je ne sais pas pourquoi Tu transformes ligne en char[].

    Si Tu veux voir si le String ligne contient le substring "Local", tu peux le faire comme suit:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
     
    if(ligne.contains("Local")){
          . . .
    }
    N. B. le char 'l' n'est pas le m�me que 'L'.

  3. #3
    Membre confirm�
    Femme Profil pro
    �tudiant
    Inscrit en
    Mars 2012
    Messages
    104
    D�tails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activit� : �tudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2012
    Messages : 104
    Par d�faut
    merci bien pour la r�ponse;
    maintenant je cherche comment copier la localisation dans cet exemple est germany dans un variable. je fait ce code mais j'ai des erreur.
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    while(ligne.toCharArray()[j]!='_' )
    {
      j++;
    }
     String location="";j++;int t=0;
     
    while( j<(ligne.length()-3))
    {
        location[t]=ligne.toCharArray()[j];
         j++;
         t++;
    }

  4. #4
    Mod�rateur
    Avatar de joel.drigo
    Homme Profil pro
    Ing�nieur R&D - D�veloppeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 56
    Localisation : France, Paris (�le de France)

    Informations professionnelles :
    Activit� : Ing�nieur R&D - D�veloppeur Java
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Billets dans le blog
    2
    Par d�faut
    Salut

    tu d�clares location en String et tu fais :

    qui est une syntaxe de manipulation de tableau

    ce n'est pas parce que la classe String utilise en interne un tableau pour stocker la chaine que c'est un tableau elle-m�me.

    de plus,
    - et d'un, la classe String est non mutable, donc tu ne peux pas cr�� une chaine et changer sa valeur apr�s,
    - et de deux, un tableau est de taille fixe en java, donc tu ne peux pas cr�er un tableau avant de connaitre la taille qu'il doit avoir, donc m�me si tu cr�ais un tableau de char pour le remplir, afin de cr�er ta chaine � partir de ce tableau (ce qu'on peut faire avec la classe String), tu ne peux pas proc�der comme tu le fais

    pourquoi ne pas utiliser tout simplement les m�thodes de manipulation propres � la classe String, plut�t que de la convertir en tableau ?

    comme par exemple, en cr�ant ces 2 m�thodes utilitaires :

    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
    public static String lireLocalisation(String chaine) {
         String localisation=lireValeurAttribut(chaine, "rdf:resource");
         if ( localisation!=null && localisation.startsWith("#_") ) {
             localisation=localisation.substring(2);
        }
        return localisation;
    }
    public static String lireValeurAttribut(String chaine, String nomAttribut) {
     
        int index=chaine.indexOf(nomAttribut);
        if ( index>=0 ) {
    	int indexStart=chaine.indexOf('"',index);
            if ( indexStart>=0 ) {
                indexStart++;
                int indexEnd=chaine.indexOf('"',indexStart);
                if ( indexEnd>=0 ) {
                    return chaine.substring(indexStart,indexEnd);
                }
            }
        }
        return null;
     
    }
    avec l'appel suivant :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    ...
     
    String localisation = lireLocalisation(ligne);
     
     ...

    si tu veux vraiment proc�der avec un tableau de char, il te faudra �crire quelque chose comme :

    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
    while(ligne.toCharArray()[j]!='_' )
    		{
        j++;
    }
    char[] locationArray=new char[lligne.length()-j-4]; // on créé un tableau suffisement grand
    j++;
    int t=0;
     
    while( j<(ligne.length()-3)) {
        locationArray[t]=ligne.toCharArray()[j];
        j++;
        t++;
    }
     
    String location=new String(locationArray);
    ou encore sans cr�er de tableau interm�diaire :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    while(ligne.toCharArray()[j]!='_' )
    {
        j++;
    }
    j++;
    String location=new String(ligne.toCharArray(),j,ligne.length()-j-3);
    L'expression "�a marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le probl�me.
    La plupart des r�ponses � vos questions sont d�j� dans les FAQs ou les Tutoriels, ou peut-�tre dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement pos�e et r�dig�e et vous aurez plus de chances de r�ponses adapt�es et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'�diteur de messages).
    Nouveau sur le forum ? Consultez Les R�gles du Club.

  5. #5
    Membre confirm�
    Femme Profil pro
    �tudiant
    Inscrit en
    Mars 2012
    Messages
    104
    D�tails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activit� : �tudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2012
    Messages : 104
    Par d�faut
    merci bien pour votre r�ponse.
    mon probl�me est le suivant:
    1. j'ai un ligne par exemple : <profile:hasLocal rdf:resource="#_GERMANY"/>
    2. l'information que je charche dans cette ligne est "GERMANY'
    3. germany c'est un exemple car peut etre france dans un autre cas

    pour cela j'utilise le code suivant:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
     
    while(ligne.toCharArray()[j]!='_' )	j++;
    String location="";
    j++;
    location=location.concat(ligne.substring(j));
    mais lorsque j'affiche le contenue de location je trouve location GERMANY"/>
    et moi cherche seulement GERMANY

  6. #6
    Mod�rateur
    Avatar de joel.drigo
    Homme Profil pro
    Ing�nieur R&D - D�veloppeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 56
    Localisation : France, Paris (�le de France)

    Informations professionnelles :
    Activit� : Ing�nieur R&D - D�veloppeur Java
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Billets dans le blog
    2
    Par d�faut
    Citation Envoy� par sousou12 Voir le message
    ...
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
     
    while(ligne.toCharArray()[j]!='_' )	j++;
    String location="";
    j++;
    location=location.concat(ligne.substring(j));
    mais lorsque j'affiche le contenue de location je trouve location GERMANY"/>
    et moi cherche seulement GERMANY
    c'est encore une autre fa�on de faire, mais retourne tous les caract�res de ligne � partir de la position j, donc soit la fin de la chaine, � partir de j. donc normal que tu es "/> dedans

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    ligne.substring(j, ligne.indexOf('"',j))
    retourne tous les caract�res � partir de j jusqu'� le deuxi�me param�tre, qui est la position du premier " dans ligne � partir de j

    par contre ton concat ne sert strictement � rien :

    � la place de
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    String location="";
    j++;
    location=location.concat(ligne.substring(j,ligne.indexOf('"',j)));
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    j++;
    String location=ligne.substring(j,ligne.indexOf('"',j));
    ferait la m�me chose en plus simple
    L'expression "�a marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le probl�me.
    La plupart des r�ponses � vos questions sont d�j� dans les FAQs ou les Tutoriels, ou peut-�tre dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement pos�e et r�dig�e et vous aurez plus de chances de r�ponses adapt�es et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'�diteur de messages).
    Nouveau sur le forum ? Consultez Les R�gles du Club.

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [VB]Probleme lecture fichier text et affichage
    Par clochardevobsy dans le forum VB 6 et ant�rieur
    R�ponses: 3
    Dernier message: 10/03/2006, 08h46
  2. Probleme lecture fichier acces sequentiel
    Par ouar dans le forum VB 6 et ant�rieur
    R�ponses: 5
    Dernier message: 23/09/2005, 13h39
  3. Probleme lecture fichier
    Par CaptainChoc dans le forum C++
    R�ponses: 5
    Dernier message: 06/03/2005, 10h40
  4. [LG]probleme lecture fichier
    Par yp036871 dans le forum Langage
    R�ponses: 2
    Dernier message: 28/01/2004, 19h22
  5. [LG]Probleme lecture fichier file of ....
    Par John_win dans le forum Langage
    R�ponses: 11
    Dernier message: 11/11/2003, 18h53

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