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 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130
| package secure;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;
public class Telefichier {
public static void downloadFile(String adresse) {
downloadFile(adresse, null);
}
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();
}
}
}
public static void downloadFile(String adresse, File dest, String user, String pwd) {
// Popup Window to request username/password password
String userPassword = user + ":" + pwd;
// Encode String
String encoding = new sun.misc.BASE64Encoder().encode (userPassword.getBytes());
BufferedReader reader = null;
FileOutputStream fos = null;
InputStream in = null;
try {
// création de la connection
URL url = new URL(adresse);
URLConnection conn = url.openConnection();
//pour l'accès sécurisé
conn.setRequestProperty ("Authorization", "Basic " + encoding);
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();
}
}
}
} |
Partager