télécharger le fichier zip à l'aide de java?

Je suis téléchargez le fichier zip de du serveur web à l'aide de Java mais de toute façon je suis perdant sur 2kb dans chaque fichier. Je ne sais pas pourquoi, car même code fonctionne très bien avec d'autres formats, e.g, texte, mp3 et plus.
toute aide est appréciée?
voici mon code.

public void download_zip_file(String save_to) {
    try {
        URLConnection conn = this.url.openConnection();
        conn.setDoOutput(true);
        conn.setDoInput(true);
        conn.setRequestProperty("content-type", "binary/data");
        InputStream in = conn.getInputStream();
        FileOutputStream out = new FileOutputStream(save_to + "tmp.zip");

        byte[] b = new byte[1024];
        int count;

        while ((count = in.read(b)) > 0) {
            out.write(b, 0, count);
        }
        out.close();
        in.close();

    } catch (IOException e) {
        e.printStackTrace();
    }
}
Vous avez le plein contrôle sur le serveur où le fichier zip est hébergé? Cela fonctionne si vous téléchargez le fichier zip en utilisant un navigateur standard?
Je n'ai pas accès au serveur web, mais il fonctionne très bien sur le navigateur. J'ai changé d'agent utilisateur et tout a bien fonctionné.
Drat, j'aurais suggéré exactement que, dans une réponse lorsque vous confirme que cela fonctionne très bien dans un navigateur 🙂 Le setDoOutput(true) par la voie établit implicitement la méthode de requête à la POSTE. Normalement, vous ne voulez pas l'utiliser pur pour les téléchargements de fichiers. Certains serveurs refusent le téléchargement lorsque demandé par POST au lieu de GET.
J'ai le même problème. Mes fichiers zip corrompus quand je l'ai télécharger à l'aide de Java, mais le navigateur web fonctionne très bien. Quelle est la ligne de code qui indique à l'agent utilisateur que j'ai besoin de l'ajouter ?
bien sûr, le code en question est faux, sinon l'OP n'aurait pas posé une question sur le problème avec le code. Vous feriez mieux de ne pas résoudre le problème directement en cause, car cela invaliderait la question concrète. Au lieu de cela il vous suffit de poster une réponse qui concrètement des réponses au problème en question. C'est là un Débordement de Pile est tout au sujet.

OriginalL'auteur Mohamed | 2010-04-16