Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

TELECHARGER UN FICHIER A PARTIR D'UNE URL


Information sur la source

Catégorie :Reseaux et Internet Classé sous : telecharger, url, internet, fichier Niveau : Débutant Date de création : 04/06/2007 Vu : 13 931

Note :
9 / 10 - par 2 personnes
9,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (4)
Ajouter un commentaire et/ou une note


Description

Cette classe permet de récupéré un fichier sur un site internet ou sur un serveur interne. ca peut être utile quand on a besoin d'ouvrir un document à l'utilisateur qui se trouve sur le web par exemple.

Elle s'utilise en passant en paramètre l'url du fichier à télécharger. Le fichier récupéré est alors stocké en local. Si on veut le stocker ailleurs on peut alors appeler la méthode surchargé qui prend un paramètre en plus qui est le fichier de destination.

Voila j'espère que ce code vous sera utile.

 

Source

  • package com.genoyer.chrisDLPkg.utils;
  • 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 UrlHelper {
  • 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();
  • }
  • }
  • }
  • }
package com.genoyer.chrisDLPkg.utils;

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 UrlHelper {

	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();
			}
		}
	}
}

Commentaires et avis

signaler à un administrateur
Commentaire de sheorogath le 04/06/2007 16:20:35 administrateur CS

je laisse car ton code est propre et bien fait mais bon ...

http://www.javafr.com/codes/TELECHARGER-FICHIER-PARTIR-URL_34185.aspx

9 pour le manque de commentaire et le BufferedReader qui est inutile

signaler à un administrateur
Commentaire de jaoued zahraoui le 04/06/2007 17:00:42

effectivement j'ai fait des recherches sur internet pour ecrire mon code. je savait pas que le source dont je me suis inspiré venait de sheorogath car je l'ai pas trouvé sur ce site. j'espere qu'il m'en excusera (d'autant plus que c'est pas mon style de m'aproprier ce qui ne m'appartient pas...)

signaler à un administrateur
Commentaire de sheorogath le 04/06/2007 17:17:28 administrateur CS

ok bon tu proposes une alternative pour choisir ou enregistrer ton fichiers puis ta une bonne gestion d'exception donc elle merite de rester mais la prochaine fois regarde mieux ;)

content d'avoir pu etre une source d'inspiration ^^

++

signaler à un administrateur
Commentaire de bebetoalvaro le 26/06/2007 21:51:10

il est tres interessant.

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

download d'un fichier zip sur un site internet [ par yann.jaunin ] Hello,j'essaye de télécharger un fichier zip qui se trouve sur un site internet. Je suis débutant donc soyez indulgent :-)voici l'erreur que j'aie :un Enregistrer un fichier obtenu par URL automatiquement [ par simbapiglet ] Bonjour!Je suis actuellement sur un projet au boulot et je bute sur un tout petit détail :J'ai en ma possession une URL qui pointe directement ve probleme avec BufferedReader [ par lykim1982 ] salut tlm, j'ai un applet que j'ai mis sur un serveur web. il lit un fichier sur le serveur et affiche au client. quand le fichier est petit,ca passe, telecharger un fichier distant dans un reseau local [ par dalijavafr ] salut tout le monde!!!SVP je veut telecharger à partir d'un poste distant un fichier qui se trouve dans un dossier partagerj'ai utilisé la ligne de co Télécharger fichier avec URL + POST [ par jordangj ] Bonjour,J'ai utiliser cette classe :  http://www.javafr.com/codes/TELECHARGER-FICHIER-PARTIR-URL_34185.aspxje voudrais pouvoir passé dans l'url à télé Ecrire dans un fichier [ par ralebole ] Voila j'ai trouver un bout de code sur le net  pour lire un fichier ( il fonctionne parfait) je voudrais la meme chose mais pour ecrire dans ce fichie téléchargement d'un fichier [ par onetouch ] Je veux télécharger un fichier audio existant dans une base de donnée mysql avec jsp à partir d'un url, lorsque je clique sur l'url, il va me demender Jar qui obtient une URL sur lui-même ? [ par loloof64 ] Bonjour à tous,le contexte :  je voudrais que le programme que je crée puisse, une fois compressé en JAR, ouvrir l'un des fichiers textes (ici .rtf ou taille d'un fichier avec url [ par aurelbobol6 ] Bonjour,je recherche la taille d'un fichier sur un serveur distant. J'ai appliqué la méthode suivante qui marche pour les adresses HTTP mais pas pas p application d'upload de fichier via internet [ par symbiote80 ] Bonjour,J'aimerai développer une application de transfert de fichiers d'un poste local vers un serveur distantIl faudrait aussi que l'application s'in


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,031 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.