首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >FTP服务器在ftp4j客户端下载文件时死亡

FTP服务器在ftp4j客户端下载文件时死亡
EN

Stack Overflow用户
提问于 2013-04-17 08:53:21
回答 1查看 782关注 0票数 1

我使用sauronsoftware.ftp4j.FTPClient从FTP服务器进行预定的文件下载。我的问题是FTP服务器在客户端从它下载文件时突然死亡。我就是这样做的:

代码语言:javascript
复制
       for (FTPFile remoteFile : remoteFiles) {

                String remoteFileName = remoteFile.getName();
                String localPath = ftpDir.getLocalPath() + remoteFileName;
                log.debug("Downloading remote file {} to local path {}", remoteFileName, localPath);
                try {
                    client.download(remoteFileName, new File(localPath));

                    if (!ftpDir.isLeaveFilesOnServer()) {
                        //Delete remote file
                        client.deleteFile(remoteFileName);                            
                    }

                } catch (IllegalStateException e) {

                    log.error("FTPException ",e);

                    fcr.addErrorFile(remoteFileName);

                } catch (IOException e) {

                    log.error("FTPException ",e);

问题是下载(.)通过单独的线程运行,当FTP服务器死后,该线程将继续运行,就像永远运行一样。有解决这个问题的方法吗?还是应该使用另一个FTP客户端来处理这种情况?

EN

回答 1

Stack Overflow用户

发布于 2013-04-17 09:15:47

我不确定您的问题是FTP连接是否突然而非快速地死亡,或者问题是否是在下载文件之前完成其执行的主线程。如果我们讨论的是第二个场景,那么也许可以使用同一个FTPClient类的另一个方法:

代码语言:javascript
复制
public void download(java.lang.String remoteFileName,
                 java.io.File localFile,
                 FTPDataTransferListener listener)

然后,让主线程等待,直到所有下载完成才能结束。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16055681

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档