Ah, je viens de test et j'ai cette erreur :
C:\Users\KingKong35\AppData\Roaming (Accès refusé)
Voici l'appel de la méthode :
1 2 3 4
| String url = "http://xx.xxx.xxx.xx/SoarCraftHD.zip";
File appdata = new File( System.getenv("APPDATA"));
UrlHelper.downloadFile(url, appdata); |
Et la méthode :
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
| public static class UrlHelper {
public static void downloadFile(String adresse, File dest) {
BufferedReader reader = null;
FileOutputStream fos = null;
InputStream in = null;
try {
// création de la connection
URL url = new URL(adresse);
URLConnection conn = url.openConnection();
System.out.println(adresse);
String FileType = conn.getContentType();
System.out.println("FileType : " + FileType);
int FileLenght = conn.getContentLength();
if (FileLenght == -1) {
throw new IOException("Fichier non valide.");
}
// lecture de la réponse
in = conn.getInputStream();
reader = new BufferedReader(new InputStreamReader(in));
if (dest == null) {
String FileName = url.getFile();
FileName = FileName.substring(FileName.lastIndexOf('/') + 1);
dest = new File(FileName);
}
fos = new FileOutputStream(dest);
byte[] buff = new byte[1024];
int l = in.read(buff);
while (l > 0) {
fos.write(buff, 0, l);
l = in.read(buff);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
fos.flush();
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
try {
reader.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
} |
Pourquoi ?
Partager