Bonjour,

J’essaie de copier plusieurs pages web automatiquement, le lien est le même mise à part le numéro n qui varie : "`http://..../n.htm"...

Le problème c'est que seul le dernier fichier contient la page web, les premiers fichiers sont vides...


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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
import java.io.*;
import java.net.*;
 
public class Test
{
   public static void main(String args[])
   {
      BufferedReader urlReader = null;
      FileWriter localFile = null;
      String urlBase =  "http://..../" ;  
      String urlComplet;
      String nomDuFichier ;
      String s;
 
      try{
 
        for(int i=1; i<9;i++ ) {
 
        urlComplet = urlBase + Integer.toString(i) + ".htm";
        nomDuFichier = "Page" + Integer.toString(i) + ".html";
 
        System.out.println("Lien de la page : " + urlComplet);
         System.out.println("Nom du fichier  : " + nomDuFichier + "\n");
 
 
        urlReader = new BufferedReader(new InputStreamReader(new URL(urlComplet).openStream()));
        localFile = new FileWriter(new File(nomDuFichier)); 
 
 
        while((s = urlReader.readLine()) != null){localFile.write(s);}
 
 
        }       
 
      }
      catch(Exception e){
        System.out.println("Erreur : " + e);
      } finally {
 
        if (urlReader!=null) {
            try {
                urlReader.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
 
        if (localFile!=null) {
            try {
                localFile.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
 
      }
      System.out.println("Fin");
   }
 
}
Quelqu'un pourrait-il m'expliquer où est le problème dans le code ?

Merci.