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"); |
|