0

我正在使用此代码下载文件:

    try{
        File remoteFile = new File(matcher.group());
        file = new File(destinationPath+"."+remoteFile.getExtension());

        BufferedInputStream bis = new BufferedInputStream(is);
        BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(file.getAbsolutePath()));
        while ((i = bis.read()) != -1) {
            bos.write(i);
        }
        bos.flush();
        bis.close();
    } catch (Exception e) {
        //e.printStackTrace();
        logger.log(Level.SEVERE, "    - Unable to download remote file({0}): {1} ", new Object[] { url.toString(), e.getMessage() });
        file.delete();
        return false;
    }

存在无法下载完整文件的情况。我不知道原因,我想知道我的选择是什么来尝试确定原因。我可以在浏览器中手动下载文件。只有大约 5% 的文件无法下载。到目前为止,我还没有注意到失败的文件类型中的任何模式。

我想知道是否有什么我可以做的,也许是一些调试模式或者我可以强制流抱怨并在连接断开时给我详细信息。

更新:这是用异常处理包装的,但我什么都没看到。不过,这可能只是时间的结果,当错误发生时我没有看到它。

4

0 回答 0