执于代码 2022-11-02 20:56 采纳率: 35.7%
浏览 11
已结题

common .net 包 ftp 下载不了

问题遇到的现象和发生背景

在ftp 下载文件时调用如下方法:出错

用代码块功能插入代码,请勿粘贴截图

```java
  public static boolean download(FtpConfig ftpConfig, String ftpPath, String fileName, String rename, String localPath) {
        boolean var5 = false;
        FTPClient var6 = new FTPClient();

        boolean var8;
        try {
            var6.connect(ftpConfig.getHost(), ftpConfig.getPort());
            var6.setControlEncoding("UTF-8");
            var6.login(ftpConfig.getUser(), ftpConfig.getPassword());
            int var7 = var6.getReplyCode();
            if (FTPReply.isPositiveCompletion(var7)) {
                var6.setFileType(2);
                var6.changeWorkingDirectory(ftpPath);
                var6.enterLocalPassiveMode();
                FTPFile[] var45 = var6.listFiles();
                FTPFile[] var9 = var45;
                int var10 = var45.length;

                for(int var11 = 0; var11 < var10; ++var11) {
                    FTPFile var12 = var9[var11];
                    if (fileName.equalsIgnoreCase(var12.getName())) {
                        File var13 = new File(localPath);
                        if (!var13.exists()) {
                            boolean var14 = var13.mkdirs();
                            LOG.info("创建目录{}{}", var13.getAbsolutePath(), var14);
                        }

                        File var46 = new File(localPath + (StringUtils.isEmpty(rename) ? var12.getName() : rename));
                        FileOutputStream var15 = new FileOutputStream(var46);
                        Throwable var16 = null;

                        try {
                            var6.retrieveFile(var12.getName(), var15);
                        } catch (Throwable var41) {
                            var16 = var41;
                            throw var41;
                        } finally {
                            if (var15 != null) {
                                if (var16 != null) {
                                    try {
                                        var15.close();
                                    } catch (Throwable var40) {
                                        var16.addSuppressed(var40);
                                    }
                                } else {
                                    var15.close();
                                }
                            }

                        }
                    }
                }

                var6.logout();
                var5 = true;
                return var5;
            }

            var8 = var5;
        } catch (Exception var43) {
            LOG.error("FTP download error", var43);
            return var5;
        } finally {
            if (var6.isConnected()) {
                try {
                    var6.logout();
                } catch (IOException var39) {
                    LOG.error("FTP logout error", var39);
                }
            }

        }

        return var8;
    }


运行结果及报错内容

一直报Software caused connection abort: socket write error

我想要达到的结果

能正确ftp 下载

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2022-11-02 23:33
    关注
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 11月13日
  • 已采纳回答 11月5日
  • 创建了问题 11月2日

悬赏问题

  • ¥15 cplex运行后参数报错是为什么
  • ¥15 之前不小心删了pycharm的文件,后面重新安装之后软件打不开了
  • ¥15 vue3获取动态宽度,刷新后动态宽度值为0
  • ¥15 升腾威讯云桌面V2.0.0摄像头问题
  • ¥15 关于Python的会计设计
  • ¥15 聚类分析 设计k-均值算法分类器,对一组二维模式向量进行分类。
  • ¥15 stm32c8t6工程,使用hal库
  • ¥15 找能接spark如图片的,可议价
  • ¥15 关于#单片机#的问题,请各位专家解答!
  • ¥15 博通raid 的写入速度很高也很低