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():
Je récupère donc des pages de wikipédia.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Runtime.getRuntime().exec("wget http://fr.wikipedia.org/wiki/" + nom + " -O " + nom);
Ensuite, je souhaite utiliser ces pages. Pour cela, j'ouvre et je lis ces pages avec un Scanner.
Et voila.
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()) { ... }
Alors mon souci est que je récupère une gentille NullPointerException
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.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3Exception in thread "main" java.lang.NullPointerException: source ...
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.
Partager