Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >为什么通过FTP为一个有170K文件的文件夹抛出FTPConnectionClosedException?

为什么通过FTP为一个有170K文件的文件夹抛出FTPConnectionClosedException?
EN

Stack Overflow用户
提问于 2016-07-08 22:21:05
回答 0查看 3.5K关注 0票数 1

我正在尝试使用commons net FTP 3.5和Java 1.8.0.45通过FTP重命名文件。有一个特定的文件夹,里面有170K的小文件(25 GB)。每当我尝试列出这个文件夹时,它都会返回下面的异常。对于文件夹的其余部分,它运行得很好,并且可以重命名文件。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
org.apache.commons.net.ftp.FTPConnectionClosedException: Connection closed without indication.
    at org.apache.commons.net.ftp.FTP.__getReply(FTP.java:316)
    at org.apache.commons.net.ftp.FTP.__getReply(FTP.java:292)
    at org.apache.commons.net.ftp.FTP.getReply(FTP.java:712)
    at org.apache.commons.net.ftp.FTPClient.completePendingCommand(FTPClient.java:1857)
    at org.apache.commons.net.ftp.FTPClient.initiateListParsing(FTPClient.java:3420)
    at org.apache.commons.net.ftp.FTPClient.initiateListParsing(FTPClient.java:3335)
    at org.apache.commons.net.ftp.FTPClient.listFiles(FTPClient.java:3012)
    at TestFTP.execute(TestFTP.java:27)
    at TestFTP.main(TestFTP.java:12)
org.apache.commons.net.ftp.FTPConnectionClosedException: Connection closed without indication.
    at org.apache.commons.net.ftp.FTP.__getReply(FTP.java:316)
    at org.apache.commons.net.ftp.FTP.__getReply(FTP.java:292)
    at org.apache.commons.net.ftp.FTP.sendCommand(FTP.java:503)
    at org.apache.commons.net.ftp.FTP.sendCommand(FTP.java:628)
    at org.apache.commons.net.ftp.FTP.sendCommand(FTP.java:602)
    at org.apache.commons.net.ftp.FTP.quit(FTP.java:884)
    at org.apache.commons.net.ftp.FTPClient.logout(FTPClient.java:1152)
    at TestFTP.execute(TestFTP.java:62)
    at TestFTP.main(TestFTP.java:12)

代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import java.io.IOException;
import java.text.DateFormat;
import java.text.SimpleDateFormat;

import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPFile;

public class TestFTP {
    public static void main(String[] args) {
        TestFTP.execute(args[0], args[1]);
    }
    static DateFormat dateFormater = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    public static void execute(String ip, String folder) {
        String server = ip;
        int port = 21;
        String user = "adminuser";
        String pass = "adminuser";

        long start = System.currentTimeMillis();
        FTPClient ftpClient = new FTPClient();
        try {
            ftpClient.connect(server, port);
            ftpClient.login(user, pass);

            FTPFile[] files = ftpClient.listFiles(folder);
            for (FTPFile file : files) {
                String details = file.getName();

                // renaming file
                String oldFile = folder + file.getName();
                String newFile = folder + "_X_" + file.getName();

                boolean success = ftpClient.rename(oldFile, newFile);
                if (success) {
                    System.out.println(oldFile + " was successfully renamed to: "
                            + newFile);
                } else {
                    System.out.println("Failed to rename: " + oldFile);
                }
            }

            ftpClient.logout();
            ftpClient.disconnect();

            long end = System.currentTimeMillis();
            System.out.println("time:"  +(end-start));

        } catch (IOException ex) {
            ex.printStackTrace();
        } finally {
            if (ftpClient.isConnected()) {
                try {
                    ftpClient.logout();
                    ftpClient.disconnect();
                } catch (IOException ex) {
                    ex.printStackTrace();
                }
            }
        }
    }
}

有没有办法让我的FTP服务器响应请求,像增加超时一样列出这么大的文件夹?还是我错过了什么?提前感谢!

EN

回答

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

https://stackoverflow.com/questions/38276160

复制
相关文章
python ftp 上传文件和文件夹
其中 session = session = ftplib.FTP(host=”,user=”,passwd=”)
用户7886150
2020/11/10
3.3K0
ftp扫描软件下载_ftp扫描文件夹连接失败
不知道大家用过哪几种ftp扫描工具,是不是感觉都是大同小异的呢?其实市面上的ftp扫描工具功能都是差不多的,当然也还是有一点差别的,那一点的差别可能就是我们选择那一种ftp扫描工具的原因。不论怎么说,也都是要选择自己喜欢的ftp扫描工具来使用。
全栈程序员站长
2022/11/10
7.2K0
ftp扫描软件下载_ftp扫描文件夹连接失败
通过Python计算一个文件夹大小
在进行计算一个文件夹内容大小的时候,我们要考虑文件夹内都有什么内容,可能都是一个一个的单文件,也有可能都是子文件夹,或者二者都有,既然要计算整个文件夹的大小,我们当然要计算每一个文件的大小以及每一个子文件夹下的每一个子文件。计算每一个文件的大小我们肯定都可以计算到,或者如果我们知道一个文件夹内有子文件夹的数量,一个个遍历子文件夹的内容进行计算,但是如果我们不知道这个文件夹内到底有多少子文件夹呢?所以,根据我的思路,可以使用递归的方式进行计算每一个文件及每一个字文件夹的大小,但有个弊端就是在python中递归有最大递归层数,说不定会有哪个变态套了N多层文件夹,这样的话我们的程序可能会抛出异常,所以我们还要做一定的异常处理,总之闲话少说,见代码吧。代码如下:
py3study
2020/01/19
1.5K0
Python操作FTP服务器实现文件和文件夹的上传与下载,python清理ftp目录下的所有文件和非空文件夹
[ 推荐文章 ] Python 地图篇 - 使用 pyecharts 绘制世界地图、中国地图、省级地图、市级地图实例详解
小蓝枣
2022/04/01
2.8K0
Python操作FTP服务器实现文件和文件夹的上传与下载,python清理ftp目录下的所有文件和非空文件夹
为每一个文件夹内的图片生成 PDF
有很多文件夹,这些文件夹内存有若干图片。现在需要按文件夹来生成这些图片的 PDF 文件。
青橙.
2023/01/22
1.2K0
在Linux中将目录压缩打包为zip文件 并通过ftp上传的Shell脚本
下面的shell脚本是将/opt下yyyymmdd格式的目录压缩打包为bak_yyyymmdd.zip,并通过ftp上传到192.168.0.2上的bak目录下。
魏杰
2022/12/23
1.7K0
最好的文件夹加密软件有哪些?
我所说的这些,VeraCrypt 全部具备,并且它还支持多平台( macOS、Windows 和 Linux)。
wuweixiang
2020/03/05
5.2K0
最好的文件夹加密软件有哪些?
ExecelVBA批量打印文件夹有文件并设置打印为一页数
在工作中我们要打印文件夹中所有文件,如果每个文件打开--输入打印份数--打印--关闭,再来打开--输入打印份数--打印--关闭,如果文件少还可以, 如果文件多你会累S,
哆哆Excel
2022/10/31
1.3K0
如何通过Samba共享Linux文件夹
Samba(SMB是其缩写) 是一个网络服务器,用于Linux和Windows共享文件之用;Samba 即可以用于Windows和Linux之间的共享文件,也一样用于Linux和Linux之间的共享文件。
静默虚空
2022/05/10
7.7K0
Linux将一个文件夹或文件夹下的所有内容复制到另一个文件夹
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/124758.html原文链接:https://javaforall.cn
全栈程序员站长
2022/07/21
5.4K0
Linux将一个文件夹或文件夹下的所有内容复制到另一个文件夹
Spring-AOP 通过配置文件实现 异常抛出增强
异常抛出增强表示在目标方法抛出异常后实施增强,最适合的场景是事务管理,比如当参与事事务的方法抛出异常后需要回滚事务。
小小工匠
2021/08/16
2890
华为实操系列 | 如何通过FTP拷贝文件?
编辑 | 排版 | 制图 | 测试 | ©瑞哥 此文用时0小时48分钟,原创不易,坚持更不易,希望我的每一份劳动成果都可以得到大家的一个【在看】 远程传输文件 1、科普小插曲 文件传输方式有:TFTP
网络技术联盟站
2019/07/23
1.7K0
linux中复制文件夹到另一个文件夹_linux 文件夹复制
https://blog.csdn.net/weixin_43820866/article/details/90453951
全栈程序员站长
2022/09/25
28K0
linux中复制文件夹到另一个文件夹_linux 文件夹复制
Python 连接FTP服务器并实现文件夹下载实例演示,python区分ftp目录下文件和文件夹方法,ftp目录下包含中文名问题处理
[ 推荐文章 ] Python 地图篇 - 使用 pyecharts 绘制世界地图、中国地图、省级地图、市级地图实例详解
小蓝枣
2022/04/01
2.6K0
Python 连接FTP服务器并实现文件夹下载实例演示,python区分ftp目录下文件和文件夹方法,ftp目录下包含中文名问题处理
golang 判断文件/路径是否存在、是否为文件夹/文件
golang判断文件或文件夹是否存在的方法为使用os.Stat()函数返回的错误值进行判断:
IT工作者
2022/07/01
2.9K0
Linux VPS 通过 ssh 传送文件到 FTP 空间
在帮客户维护网站环境的过程中,经常需要将原有数据进行备份,比较快捷的方式就是直接通过 ssh 传送文件到其他 FTP 空间,备注一下方法步骤:
星哥玩云
2022/08/13
3.8K0
linux将一个文件夹的内容复制到另一个文件夹_linux复制文件夹命令
copy命令的功能是将给出的文件或目录拷贝到另一文件或目录中,同MSDOS下的copy命令一样,功能十分强大。
全栈程序员站长
2022/09/23
9.9K0
linux将一个文件夹的内容复制到另一个文件夹_linux复制文件夹命令
python获取文件夹里有什么文件+查看特定格式的文件
功能 获取文件夹的的文件+获取文件夹里的特定格式的文件,比如.png等 程序 import os folder = r"D:\python\untitled1" files = os.listdir(folder) print(files) def file_filter(f): if f[-4:] in ['.jpg', '.png']: return True else: return False files = list(filter(file_
跋扈洋
2021/02/02
1.3K0
python获取文件夹里有什么文件+查看特定格式的文件
点击加载更多

相似问题

通过FTP转到子文件夹

32

Java -通过FTP上传文件夹?

12

文件夹下载为ftp中的文件

10

使用PHP通过FTP上传文件夹

11

如何通过FTP PHP上传文件夹

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文