使用HTTPConnection到一个站点下载二进制文件会产生一些错误

时间:2013-06-17 20:51:39

标签: java httpconnection

为了让我的工作变得更轻松,我正在制作一个Java程序,从服务器上下载一些模块(有时它们会被我的本地机器删除,所有这些都需要15分钟)。 以下是我下载文件的代码:

请注意,所有文件都不到一兆字节。

    URL url = new URL("http://www.url.com/ModuleName.swf");
    URLConnection connection = url.openConnection();

    InputStream input = connection.getInputStream();
    byte[] buffer = new byte[4096];
    int n = -1;

    OutputStream output = new FileOutputStream(new File("dlFile.swf"));

    while ((n = input.read(buffer)) != -1)
    {
        output.write(buffer, 0, n);
        output.flush();
    }
    output.close();

如果我使用十六进制编辑器来比较通过Java和Firefox下载的文件,那么它起初几乎是一样的。但后来出现了很多错误。

现在,奇怪的是:如果我使用Firefox下载文件并将该文件上传到dropbox,该文件将与我的应用程序一起正确下载。

知道可能导致这种情况的原因吗?

0 个答案:

没有答案