为什么pdf文件下载已损坏



我写了一个通过url下载文件的小程序。我可以正确打开其他所有文件格式,但对于下载的pdf来说,这是不可能的。

public static void saveFile(String fileUrl, String destinationFile) throws IOException {
    URL url = new URL(fileUrl);
    InputStream is = url.openStream();
    OutputStream os = new FileOutputStream(destinationFile);
    byte[] b = new byte[2048];
    int length;
    while ((length = is.read(b)) != -1) {
        os.write(b, 0, length);
    }
    os.flush();
    is.close();
    os.close();
}

我需要特殊的方式来处理pdf下载吗?

当我试图通过浏览器中的URL获取选定的pdf时,它会正确显示

编辑

在代码中添加了flush(),但仍然没有成功

试图在浏览器(FF)中打开损坏的pdf返回错误:

文件不是以"%PDF-"开头

Adobe Reader返回:

无法打开文件,因为它不是受支持的文件类型或者因为文件已损坏。

损坏pdf的大小(约80%)比原始小

损坏的pdf文件中有网站html代码。

最新更新