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 :

Pb de pointeur


Sujet :

avec Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 7
    Par défaut Pb de pointeur
    Voilà, je chercher à créer un tableau de String contenant les lignes d'un fichier texte. Seulement à l'exécution du programme l'erreur NullPointerException apparaît. Pourtant toutes les variables sont initialisées (enfin je pense .. )
    Voila le code, merci de m'indiquer l'erreur.
    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
    public class RecupText {
    	public static void main(String[] args){
     
    		String fichier ="Liens.txt";	
                    String[]tab = null ;	
     
    		//lecture du fichier texte à 38 lignes
    		try{
    			InputStream ips=new FileInputStream(fichier);
    			InputStreamReader ipsr=new InputStreamReader(ips);
    			BufferedReader br=new BufferedReader(ipsr);
    			String ligne = null;			
    			while ((ligne=br.readLine())!=null){
    				for (int i=1; i< 38; i++)
    				{
    					tab[i] = ligne;
    					System.out.println(tab);
    				}
     
    			}
    			br.close(); 
    		}		
    		catch (Exception e){
    			System.out.println(e.toString());
    		}
     
     
     
    	}
    }

  2. #2
    Membre Expert Avatar de guigui5931
    Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2006
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 667
    Par défaut
    Dis nous à quelle ligne tu as cette erreur. A priori ton tableau tab n'est jamais initialisé.

  3. #3
    Membre Expert
    Avatar de muad'dib
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2003
    Messages
    1 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loire Atlantique (Pays de la Loire)

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

    Informations forums :
    Inscription : Janvier 2003
    Messages : 1 013
    Par défaut
    Comme tu sembles vouloir recuperer 38 elements, il faut que tu initialises tab comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String tab[] = new String[38];

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 7
    Par défaut
    Merci pour votre rapidité
    J'ai réussi à enlever mon problème d'erreur java.lang.NullPointerException (où je ne savais pas où était le n° de la ligne d'erreur) en définissant un tableau de String de 38 éléments.
    Cependant, maintenant il m'affiche
    [Ljava.lang.String;@3e25a5
    [Ljava.lang.String;@3e25a5
    [Ljava.lang.String;@3e25a5
    ..................................
    [Ljava.lang.String;@3e25a5
    [Ljava.lang.String;@3e25a5

    eu lieu du texte de mon fichier. Pouvez m'aidez à résoudre ce problème (tout bête je pense mais je suis débitant en java). Je pense que celà vient d'un problème de format de caractère mais bon ...

    Merci d'avance

  5. #5
    Membre Expert
    Avatar de muad'dib
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2003
    Messages
    1 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loire Atlantique (Pays de la Loire)

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

    Informations forums :
    Inscription : Janvier 2003
    Messages : 1 013
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.out.println(tab)
    Tu affiches ici l'identificateur de ton tableau et non le contenu. Si tu veux en afficher le contenu il faut faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for(int i = 0; i < tab.length; i++) {
      System.out.println(tab[i]);
    }

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 7
    Par défaut
    J'ai fait la modification en mettant :
    while ((ligne=br.readLine())!=null){
    for(int i = 0; i < tab.length; i++) {
    System.out.println(tab[i]);

    mais celà affiche null null null ...... au lieu des différents lignes de mon fichier texte. Pourquoi ?

  7. #7
    Membre Expert Avatar de guigui5931
    Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2006
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 667
    Par défaut
    Apparemment tu ne met pas le contenu de ta ligne dans ton tableau. C'est pourquoi il t'affiche null.

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 7
    Par défaut
    Merci à tous !
    Effectivement, j'ai oublié d'affecté mes lignes dans mon tableau, je viens de m'en rendre compte.

    Encore merci, pb résolu

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations forums :
    Inscription : Novembre 2007
    Messages : 25
    Par défaut
    n'oublier pas la TAG Resolu alors

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

Discussions similaires

  1. pointeurs
    Par ghost74 dans le forum C
    Réponses: 3
    Dernier message: 14/12/2002, 02h52
  2. Pointeur vers un tableau
    Par Nikos dans le forum C
    Réponses: 3
    Dernier message: 09/12/2002, 00h43
  3. [Turbo Pascal] Allocation et désallocation de pointeurs dans une fonction
    Par neird dans le forum Turbo Pascal
    Réponses: 13
    Dernier message: 17/11/2002, 20h14
  4. djgpp et pointeurs far -2
    Par elvivo dans le forum Autres éditeurs
    Réponses: 16
    Dernier message: 29/07/2002, 22h43
  5. djgpp et pointeurs far
    Par elvivo dans le forum C
    Réponses: 2
    Dernier message: 13/07/2002, 00h44

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