Cette méthode permet de télécharger un fichier disponible sur internet, par exemple, un fichier xml et de le sauvegarder sur votre disque dur.
* *
* Cette méthode permet de télécharger un fichier depuis une URL
* @ param urlPath chemin du fichier source (site web)
* @ param destination chemin de destination
* /
private void downloadFile (String urlPath, String destination) {
try {
URL url = new URL (urlPath);
URLConnection connection = url.openConnection ( );
int length = connection.getContentLength ();
if (length = = - 1 ){
throw new IOException (" Fichier vide " );
}
InputStream is = new BufferedInputStream (connection.getInputStream ());
byte [] data = new byte [length];
int currentBit = 0 ;
int deplacement = 0 ;
while (deplacement < length){
currentBit = is.read (data, deplacement, data.length- deplacement);
if (currentBit = = - 1 )break ;
deplacement + = currentBit;
}
is.close ();
if (deplacement ! = length){
throw new IOException (" Le fichier n'a pas été lu en entier (seulement "
+ deplacement + " sur " + length + " ) " );
}
FileOutputStream destinationFile = new FileOutputStream (destination);
destinationFile.write (data);
destinationFile.flush ();
destinationFile.close ();
} catch (MalformedURLException e) {
System.err.println (" Problème avec l'URL : " + urlPath);
} catch (IOException e) {
e.printStackTrace ();
}
}
|
Pour l'utilisation c'est très simple, il vous suffit d'appeller la méthode avec en paramètre, le chemin source et le chemin vers la destination.
downloadFile (" www.XXX.com/XXX/XXX.xxx " , " C:\\XXX\XXX.xxx " );
|
|