bonjour a tous ,
voila j'ai acheter un bouquin et il donne un exemple pour telecharger des fichier mais que les fichier .exe comment le modifier pour telecharger les fichier de d'autre extension?
voici la source (si la source peuve servir a d'autre n'hesiter pas ):
import java.net.*;
import java.io.*;
class connection extends Thread implements Runnable
{
public void run()
{
try{
ObjectInputStream in = new ObjectInputStream(new
FileInputStream("url.dae" ));
fich = (String)in.readObject();
in.close();
}catch(IOException e ){System.err.println("fichier non lu ou fichier inexistant veuillez entre une adresse ou cliquer sur defaut dans les options de connection voici l'exception renvoye" ); e.printStackTrace();}
catch (ClassNotFoundException e) {System.err.println("fichier de classe non trouve" ); e.printStackTrace();}
String host = fich + "id.dd";
try {
URL racine = new URL(host);
connecting(racine);
}
catch (MalformedURLException e) {
System.err.println(host + " : URL non compris." );
}
catch (IOException e) {
System.err.println(e);
}
}// fin de main
public static void connecting(URL u) throws IOException {
URLConnection uc = u.openConnection( );
String typeDeContenu = uc.getContentType( );
int tailleDuContenu = uc.getContentLength( );
if (typeDeContenu.startsWith("text/" ) || tailleDuContenu == -1 ) {
throw new IOException("Il ne s'agit pas d'un fichier binaire." + typeDeContenu + tailleDuContenu + uc);
}
InputStream brut = uc.getInputStream( );
InputStream entree = new BufferedInputStream(brut);
byte[] donnees = new byte[tailleDuContenu];
int octetsLus = 0;
int deplacement = 0;
while (deplacement < tailleDuContenu) {
octetsLus = entree.read(donnees, deplacement, donnees.length-deplacement);
if (octetsLus == -1) break;
deplacement += octetsLus;
}
entree.close( );
if (deplacement != tailleDuContenu) {
throw new IOException("Nous n'avons lu que " + deplacement
+ " octets au lieu des " + tailleDuContenu + " attendus" );
}
String nomfichier = u.getFile( );
nomfichier = nomfichier.substring(nomfichier.lastIndexOf('/') + 1);
FileOutputStream fichiersortant = new FileOutputStream(nomfichier);
fichiersortant.write(donnees);
fichiersortant.flush( );
fichiersortant.close( );
}
private String fich;
}