Le téléchargement d'un fichier Zip avec Java le corrompt


J'ai juste essayé de télécharger un fichier à partir d'un site Web, j'ai vérifié l'URL et tout semble bien aller là-bas, mais quand j'essaie de le faire comme décrit, il affiche que ma taille de mise à jour est -1 Bytes, je ne sais pas pourquoi cela se produit.

Si quelqu'un a une solution, je serais heureux de vous ici.

Mon code:

    private void downloadFile(String link) throws MalformedURLException, IOException
{
    URL url = new URL(link);
    URLConnection conn = url.openConnection();
    InputStream is = conn.getInputStream();
    long max = conn.getContentLength();
    outText.setText(outText.getText()+"\n"+"Downloding file...\nUpdate Size(compressed): "+max+" Bytes");
    System.out.println("Update Size --> " + max + " Bytes");
    BufferedOutputStream fOut = new BufferedOutputStream(new FileOutputStream(new File("update.zip")));
    byte[] buffer = new byte[32 * 1024];
    int bytesRead = 0;
    int in = 0;
    while ((bytesRead = is.read(buffer)) != -1) {
        in += bytesRead;
        fOut.write(buffer, 0, bytesRead);
    }
    fOut.flush();
    fOut.close();
    is.close();
    outText.setText(outText.getText()+"\nDownload Complete!");
}

Un grand merci déjà:)

Author: njoye, 2015-11-19

1 answers

La javadoc est votre ami:

Renvoie: longueur du contenu de la ressource référencée par l'URL de cette connexion, -1 si la longueur du contenu n'est pas connue ou si la longueur du contenu est supérieure à un entier.MAX_VALUE .

(emphase à moi)

 0
Author: JB Nizet, 2015-11-19 20:30:05