Bonjour,

J'ai une erreur d'exception à la fin du programme et je ne sais pas comment le résoudre. Je choisis le fichier et ensuite le contenue du fichier apparait avec la méthode lire() puis il y a une erreur:

Saisissez le nom du fichier.csv
Pierre 06 78 08 45 36
Paul 06 23 36 34 32
Bertrand 06 78 67 57 78
Exception in thread "main" java.lang.NullPointerException
at java.util.StringTokenizer.<init>(StringTokenizer.java:199)
at java.util.StringTokenizer.<init>(StringTokenizer.java:221)
at lirefichier.lire(lirefichier.java:20)
at main.main(main.java:12)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
import java.util.*;
import java.io.*;
 
public class main{
 
	/**
         * @param args
         */
	public static void main(String[] args) throws IOException{
		// TODO Auto-generated method stub
			lirefichier lf=new lirefichier();
			lf.lire();
	}
}
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
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
 
 
public class Saisie {
	public static String lire_String(String question){
		String ligne_lue=null;
		try{
			InputStreamReader isr = new InputStreamReader(System.in);
			BufferedReader br= new BufferedReader(isr);
			System.out.print(question);
			ligne_lue=br.readLine();
		} catch(IOException e){
			System.err.println(e);
		} 
		return ligne_lue;
	}
 
	public static int lire_int(String question){
		return Integer.parseInt(lire_String(question));
	}
 
	public static double lire_double(String question){
		return Double.parseDouble(lire_String(question));
	}
}
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
 
import java.io.*;
import java.util.*;
 
public class lirefichier {
	String nomfichier;
 
 
	public lirefichier(){
		nomfichier=Saisie.lire_String("Saisissez le nom du fichier.");
	}
 
	public void lire() throws IOException{
		String ligne;
 
		FileReader f=new FileReader(this.nomfichier);
		BufferedReader entree=new BufferedReader(f);
		String nom="",numero="";
		do{
			ligne=entree.readLine();
			StringTokenizer st=new StringTokenizer(ligne,";");
			nom=st.nextToken();
			numero=st.nextToken();
			System.out.println(nom+" "+numero);
		}while(ligne!=null);
		entree.close();
 
	}
 
	public void ajout() throws IOException{
		String nom, numero;
		FileWriter fw=new FileWriter(this.nomfichier,true);
		PrintWriter sortie=new PrintWriter(fw);
		nom=Saisie.lire_String("Saisissez le nom de la personne.");
		numero=Saisie.lire_String("Saisissez le numero de la personne.");
		sortie.println(nom+";"+numero);
		sortie.close();
 
	}
}