Je vous recommande d'utiliser apache httpclient pour cela. Votre code pourrait ressembler (note, assurez-vous que vous utilisez la version 4.x ou ultérieure):
HttpClient client = new DefaultHttpClient();
HttpRequestBase httpMethod = httpMethod = new HttpGet(myUrlString);
httpMethod.setHeader("Accept", "application/zip");
HttpResponse response = httpClient.execute(httpMethod);
int statusCode = response.getStatusLine().getStatusCode();
if(statusCode != 200) {
throw new Exception("Bad return status code of: "+statusCode);
}
HttpEntity entity = response.getEntity();
if(entity != null) {
FileOutputStream fos = new FileOutputStream("myFile.zip");
int nextByte=0;
InputStream cis = entity.getContent();
try {
while((nextByte = cis.read()) >= 0) fos.write(nextByte);
} finally {
fos.close();
cis.close();
}
}
Je n'ai pas compilé, mais vous pourriez probablement obtenir ça va sans trop de problème (sentir gratuit pour éditer mon commentaire et corriger le code si vous essayez de le compiler et qu'il y a des erreurs). Notez également que ce code devrait fonctionner génériquement pour télécharger n'importe quoi à partir d'une requête web (après avoir changé l'en-tête "Accepter").
Qu'essayez-vous de faire exactement? Qui a le fichier zip? Est-ce qu'il est téléchargé ou téléchargé? En extrayez-vous des données ou y ajoutez-vous des données? (De plus, quel cadre utilisez-vous pour vous aider à faire cela?) –
Salut, l'utilisateur client obtiendra le fichier zip.Automatiquement, le fichier zip est déjà téléchargé dans le dossier de l'utilisateur. En utilisant java io flux, je ne peux pas télécharger de fichiers zip, jar, images. Une autre façon de faire? Maintenant, je n'utilise aucun cadre. Je le fais dans le service web REST dans une application web. Je fais du stockage dans le cloud pour un stage. – sudo