Bonjour,
j'ai fais un morceau de code dans lequel j'utilise la commande système wget (je sais pas trop si c'est connu, wget est utilisé pour aspirer un site, voilà) grâce à exec():

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
Runtime.getRuntime().exec("wget http://fr.wikipedia.org/wiki/" + nom + " -O " + nom);
Je récupère donc des pages de wikipédia.

Ensuite, je souhaite utiliser ces pages. Pour cela, j'ouvre et je lis ces pages avec un Scanner.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
...
try {
     reader = new BufferedReader(new FileReader(nomPage));
} catch(FileNotFoundException fnfe) {
     System.out.println("Erreur d'ouverture");
   }
 
Scanner scanner = new Scanner(reader);
 
while (scanner.hasNext()) {
     ...
}
Et voila.
Alors mon souci est que je récupère une gentille NullPointerException

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
Exception in thread "main" java.lang.NullPointerException: source
...
J'ai l'impression que j'utilise les fichier alors qu'ils ne sont pas encore enregistrés sur mon disque. En gros, le programme execute la lecture du fichier avant d'avoir fini le wget et donc je lis un fichier qui n'existe pas.

Déjà, je voudrais savoir si cette hypothèse est valide, si elle convient à quelqu'un et ensuite, si quelqu'un sait comment faire pour contrer ce problème.
Merci.