2011-04-05 2 views
0


Est-ce que quelqu'un sait comment copier des données dans un fichier zip, un fichier jar, un fichier binaire et d'autres dans le service Web REST en utilisant java? J'écris une méthode de service Web pour copier le fichier en utilisant FileInputStream, mais il ne peut que copier le type de fichier.comment copier zip et autres fichiers dans le service Web REST en utilisant java

grâce

+1

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?) –

+0

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

Répondre

1

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").

Questions connexes