首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Apache Commons FTPClient.listFiles

Apache Commons FTPClient.listFiles
EN

Stack Overflow用户
提问于 2010-02-26 14:26:05
回答 6查看 42.2K关注 0票数 20

我在我的一个应用程序中使用org.apache.commons.net.ftp.FTPClient来与FTP服务器一起工作。我可以使用connectloginpwdcwd。但是,当我尝试list文件时,它不会返回该目录中的文件列表,因为我确定该目录中有文件。我使用的方法是[FTPFile[] listFiles()](http://commons.apache.org/net/api/org/apache/commons/net/ftp/FTPClient.html#listFiles(%29),它返回一个FTPFile的空数组。

请在下面的代码片段中找到我正在尝试的代码片段:

代码语言:javascript
运行
复制
        String hostname = properties.getProperty("FTP_SERVER");
        String user = properties.getProperty("FTP_USER");
        String passwd = properties.getProperty("FTP_PASSWD");
        FTPClient client = new FTPClient();
        client.connect(hostname);
        client.login(user, passwd);
        String reply = client.getStatus();
        System.out.println(reply);
        client.enterRemotePassiveMode();
        client.changeWorkingDirectory("/uploads");
        FTPFile[] files = client.listFiles();
        System.out.println(files.length);
        for (FTPFile file : files) {
            System.out.println(file.getName());
        }

        String[] fileNames = client.listNames();
        if (fileNames != null) {
            for (String file : fileNames) {
                System.out.println(file);
            }
        }
        client.disconnect();
EN

Stack Overflow用户

发布于 2014-10-07 03:15:42

我也遇到了同样的问题,结果发现它无法解析服务器返回的文件列表。I连接到ftp服务器后的这一行(ftpClient.setParserFactory MyFTPFileEntryParserFactory());

代码语言:javascript
运行
复制
public class MyFTPFileEntryParserFactory implements FTPFileEntryParserFactory {
private final static FTPFileEntryParser parser = new UnixFTPEntryParser() {
    @Override public FTPFile parseFTPEntry(String entry) {
        FTPFile ftpFile = new FTPFile();
        ftpFile.setTimestamp(getCalendar(entry));
        ftpFile.setSize(get(entry));
        ftpFile.setName(getName(entry));
        return ftpFile;
    }
};

@Override public FTPFileEntryParser createFileEntryParser(FTPClientConfig config) throws ParserInitializationException {
    return parser;
}

@Override public FTPFileEntryParser createFileEntryParser(String key) throws ParserInitializationException {
    return parser;
}

}

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

https://stackoverflow.com/questions/2339855

复制
相关文章

相似问题

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