NullPointer Exception

Fermé
tresor - 15 mai 2012 à 13:13
 tresor - 15 mai 2012 à 13:55
Bonjour,
J'ai un projet à rendre demain et j'ai un petit souci qui me fait perdre du temps: Je dois lire un fichier et stocker les données dans une arrayListe, sauf que ce fichier est au format arff donc je dois éliminer les lignes qui commencent par '%' et '@' mais quand j'exécute mon code, j'ai une nullPointer Exception, quelqu'un pourrait-il m'aider svp? merci d'avance

voici le code:

import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.*;

public class AlgoId3
private ArrayList<String> data;

public void charger(String nameFile) throws IOException{
String str;
StringTokenizer st;
BufferedReader buf1=new BufferedReader(new FileReader(nameFile));
try {
while((str=buf1.readLine())!=null){
if (str.charAt(0)!= '%' && str.charAt(0)!= '@'){// on vérifie que la ligne ne commence pas par % ou @
st=new StringTokenizer(str, ",");
while (st.hasMoreTokens()){
data.add(st.nextToken());

for (int k= 0; k<data.size(); k++)
System.out.println(data.get(k));
}
}
}
} catch (IOException e) {
e.printStackTrace();
}
buf1.close();

}

1 réponse

KX Messages postés 16755 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 12 février 2025 3 020
15 mai 2012 à 13:21
À propos de faire perdre du temps, il serait bien que tu nous indique sur quelle ligne intervient l'exception, que tu nous donnes le main que tu utilises, et un exemple de fichier qui plante, parce que je ne connais pas le format arff et que ça peut avoir de l'importance...
0
tu as raison je crois que ici le format arff n'a pas d'importance. En ce qui concerne le main, j'ai just créé une instance de l'objet et j'ai appelé la méthode comme suit:

public static void main(String[] args) throws IOException {

AlgoId3 test = new AlgoId3();

test.charger ("zoo.arff");
}



et voici le rendu:

Exception in thread "main" java.lang.NullPointerException
at projet.AlgoId3.charger(AlgoId3.java:75)
at projet.AlgoId3.main(AlgoId3.java:111)
0
KX Messages postés 16755 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 12 février 2025 3 020
15 mai 2012 à 13:44
data n'est pas initialisée, il te faut un data = new ArrayList<String>() quelque part...
0
j'ai essayé et le problème est résolu mais un autre problème est généré. Je te remercie pour ton aide @ bientot
0