OVH Cloud OVH Cloud

telechargement de fichiers via Java

3 réponses
Avatar
Julie
Bonjour,

Comment telecharger un fichier binaire (mp3, zip ...) a partir d un lien
hypertext en Java ?
Par example je souhaites telecharger sur mon disque dur C le fichier
http://www.mon-serveur.com/mon-archive.zip

Cordialement.

3 réponses

Avatar
charly
Je ne suis pas sûr de comprendre la question :

http://www.monserveur.com a un lien sur moto.zip (fichier également sur
le serveur)
je clique sur moto.zip et ca le télécharge sur ma machine ?

Le processus de téléchargement est pris en charge par ton navigateur
donc rien à faire.
Si tu visualises le fichier dans une appli Java contenant un module pour
interpréter les pages web, c'est autre chose (je laisse des gens +
compétens te répondre :) ).

Si tu veux uploader des fichiers sur un serveur tomcat par ex, il te
faut un champ "FILE" dans ton formulaire et un autre FILE_SIZE_MAX et
une servlet pour gérer la réception du fichier coté serveur..

En attendant de plus amples précisions,

Cordialement
Avatar
Cedric ROCHEFOLLE
Par example je souhaites telecharger sur mon disque dur C le fichier
http://www.mon-serveur.com/mon-archive.zip


Pour acceder a une ressource http, rien de plus simple qu'une URL. V'la un
bout de code qui s'explique par lui meme:
<sniplet>
public void download(String url, String dest) {
FileOutputStream out=null;
try {
// cree une instance de URL qui pointe vers le lien
url=http://www.mon-serveur.com/monlien.zip
URL source=new URL(url);
// ouvre une connection
URLConnection uc=source.openConnection();
// recupere la taille du fichier ( cf. protocole HTTP si ca t'interesse
comment ca se passe)
int len=uc.getContentLength();
byte data[]=new byte[len];
// ouverture du fichier de destination
out=new FileOutputStream(dest);
// creation du stream pour lire
DataInputStream dis=new DataInputStream(uc.getInputStream());
// lit
dis.readFully(data);
// ecrit
out.write(data);
} catch(Exception e) {
System.out.println("Error downloading...");
e.printStackTrace();
}
finally {
try {
out.flush();
out.close();
dis.close();
} catch(Exception e) {
}
}
}
</sniplet>

Scooby-Ced
-------------

Avatar
Julie
merci c exactement ce que je cherchais

"Cedric ROCHEFOLLE" a écrit dans le message news:
4006ad86$0$28716$
Par example je souhaites telecharger sur mon disque dur C le fichier
http://www.mon-serveur.com/mon-archive.zip


Pour acceder a une ressource http, rien de plus simple qu'une URL. V'la un
bout de code qui s'explique par lui meme:
<sniplet>
public void download(String url, String dest) {
FileOutputStream out=null;
try {
// cree une instance de URL qui pointe vers le lien
url=http://www.mon-serveur.com/monlien.zip
URL source=new URL(url);
// ouvre une connection
URLConnection uc=source.openConnection();
// recupere la taille du fichier ( cf. protocole HTTP si ca t'interesse
comment ca se passe)
int len=uc.getContentLength();
byte data[]=new byte[len];
// ouverture du fichier de destination
out=new FileOutputStream(dest);
// creation du stream pour lire
DataInputStream dis=new DataInputStream(uc.getInputStream());
// lit
dis.readFully(data);
// ecrit
out.write(data);
} catch(Exception e) {
System.out.println("Error downloading...");
e.printStackTrace();
}
finally {
try {
out.flush();
out.close();
dis.close();
} catch(Exception e) {
}
}
}
</sniplet>

Scooby-Ced
-------------