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

Concurrence et multi-thread Java Discussion :

Exception in thread "main" java.lang.NullPointerException


Sujet :

Concurrence et multi-thread Java

  1. #1
    Futur Membre du Club
    Inscrit en
    Octobre 2006
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 12
    Points : 7
    Points
    7
    Par défaut Exception in thread "main" java.lang.NullPointerException
    Bonjour a tous

    voici un peu programme que j ai fait :


    import java.io.*;
    import java.util.*;
    public class Premier {
    public static void main(String[] args){
    Terminal.ecrireString("Nom fichier PDB: ");
    String nomFichier = Terminal.lireString()+".PDB";
    try{
    int nombre=0;
    StringTokenizer st;
    String mot="MODEL";
    FileReader fr= new FileReader(nomFichier);
    BufferedReader br = new BufferedReader( fr);
    String ligne = br.readLine();
    while (ligne != null){
    Terminal.ecrireStringln(ligne );
    ligne = br.readLine();
    st=new StringTokenizer(ligne,".;() =[]");
    while(st.hasMoreTokens())
    if (mot.equals(st.nextToken())) nombre++;
    }
    br.close();
    Terminal.ecrireString("Il y a "+nombre+" modele");

    }
    catch(FileNotFoundException e){
    Terminal.ecrireStringln("Fichier non trouve");
    }
    catch(IOException e){
    Terminal.ecrireStringln("Probleme de lecture du fichier");
    }
    }

    }


    Le programe doit lire un fichier (extension PDB) et compter combien de fois il rencontre le mot "MODEL".

    La lecture (et l affichage) du fichier ce passe bien mais il m affiche à un moment :

    "Exception in thread "main" java.lang.NullPointerException
    at java.util.StringTokenizer.<init>(Unknown Source)
    at java.util.StringTokenizer.<init>(Unknown Source)
    at Premier.main(Premier.java:17)"

    J'ai oublier de faire quoi?

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    157
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2006
    Messages : 157
    Points : 100
    Points
    100
    Par défaut
    Hello,
    StringTokenizer renvoie une nullpointerException lorsque la string est nulle

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    333
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 333
    Points : 295
    Points
    295
    Par défaut
    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
     
    import java.io.*;
    import java.util.*;
    public class Premier {
    public static void main(String[] args){
    Terminal.ecrireString("Nom fichier PDB: ");
    String nomFichier = Terminal.lireString()+".PDB";
    try{
    int nombre=0;
    StringTokenizer st;
    String mot="MODEL";
    FileReader fr= new FileReader(nomFichier);
    BufferedReader br = new BufferedReader( fr);
    String ligne = br.readLine();
    while (ligne != null){
    Terminal.ecrireStringln(ligne );
    ligne = br.readLine(); /// la ligne recupérée est null 
    st=new StringTokenizer(ligne,".;() =[]");
    while(st.hasMoreTokens())
    if (mot.equals(st.nextToken())) nombre++;
    }
    br.close();
    Terminal.ecrireString("Il y a "+nombre+" modele");
     
    }
    catch(FileNotFoundException e){
    Terminal.ecrireStringln("Fichier non trouve");
    }
    catch(IOException e){
    Terminal.ecrireStringln("Probleme de lecture du fichier");
    }
    }
     
    }
    arf il a été plus vite que moi
    regarde le code je t'ai mi la ligne
    à noter que stringTokenizer est deprecated
    il faut utiliser le split de String

  4. #4
    Futur Membre du Club
    Inscrit en
    Octobre 2006
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 12
    Points : 7
    Points
    7
    Par défaut
    Merci beaucoup de ces réponses (rapide)

    et déolé pour la façon dont j ai afficher mon code car je vois qu'on peut mieux le mettre....

  5. #5
    in
    in est déconnecté
    Membre expérimenté Avatar de in
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 612
    Points : 1 718
    Points
    1 718
    Par défaut
    Citation Envoyé par yrlac
    et déolé pour la façon dont j ai afficher mon code car je vois qu'on peut mieux le mettre....
    le bouton # en haut ...

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    157
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2006
    Messages : 157
    Points : 100
    Points
    100
    Par défaut
    Citation Envoyé par LittleBean
    [
    arf il a été plus vite que moi
    regarde le code je t'ai mi la ligne
    à noter que stringTokenizer est deprecated
    il faut utiliser le split de String
    Je ne crois pas que la classe StringTokenizer soit Deprecated...
    C'est la méthode de String qui est Deprecated

  7. #7
    in
    in est déconnecté
    Membre expérimenté Avatar de in
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 612
    Points : 1 718
    Points
    1 718
    Par défaut
    Citation Envoyé par oc_alex86
    Je ne crois pas que la classe StringTokenizer soit Deprecated...
    C'est la méthode de String qui est Deprecated
    effectivement ya pas le flag deprecated mais la javadoc dit bien :

    Citation Envoyé par javadoc
    StringTokenizer is a legacy class that is retained for compatibility reasons although its use is discouraged in new code. It is recommended that anyone seeking this functionality use the split method of String or the java.util.regex package instead.

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

Discussions similaires

  1. Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException ?
    Par freezerhm dans le forum Concurrence et multi-thread
    Réponses: 5
    Dernier message: 04/12/2007, 09h26
  2. Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    Par Trint dans le forum Interfaces Graphiques en Java
    Réponses: 6
    Dernier message: 27/02/2007, 11h28
  3. Réponses: 8
    Dernier message: 11/05/2006, 19h32
  4. [JDIC]Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    Par kedare dans le forum Concurrence et multi-thread
    Réponses: 4
    Dernier message: 06/05/2006, 22h45

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