当前位置: 首页>>代码示例>>Java>>正文


Java FTPClient.setDataTimeout方法代码示例

本文整理汇总了Java中org.apache.commons.net.ftp.FTPClient.setDataTimeout方法的典型用法代码示例。如果您正苦于以下问题:Java FTPClient.setDataTimeout方法的具体用法?Java FTPClient.setDataTimeout怎么用?Java FTPClient.setDataTimeout使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.apache.commons.net.ftp.FTPClient的用法示例。


在下文中一共展示了FTPClient.setDataTimeout方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: execute

import org.apache.commons.net.ftp.FTPClient; //导入方法依赖的package包/类
/**
 * 执行FTP回调操作的方法
 *
 * @param <T>      the type parameter
 * @param callback 回调的函数
 * @return the t
 * @throws IOException the io exception
 */
public <T> T execute(FTPClientCallback<T> callback) throws IOException {
    FTPClient ftp = new FTPClient();
    try {
        //登录FTP服务器
        try {
            //设置超时时间
            ftp.setDataTimeout(7200);
            //设置默认编码
            ftp.setControlEncoding(DEAFULT_REMOTE_CHARSET);
            //设置默认端口
            ftp.setDefaultPort(DEAFULT_REMOTE_PORT);
            //设置是否显示隐藏文件
            ftp.setListHiddenFiles(false);
            //连接ftp服务器
            if (StringUtils.isNotEmpty(port) && NumberUtils.isDigits(port)) {
                ftp.connect(host, Integer.valueOf(port));
            } else {
                ftp.connect(host);
            }
        } catch (ConnectException e) {
            logger.error("连接FTP服务器失败:" + ftp.getReplyString() + ftp.getReplyCode());
            throw new IOException("Problem connecting the FTP-server fail", e);
        }
        //得到连接的返回编码
        int reply = ftp.getReplyCode();

        if (!FTPReply.isPositiveCompletion(reply)) {
            ftp.disconnect();
        }
        //登录失败权限验证失败
        if (!ftp.login(getUsername(), getPassword())) {
            ftp.quit();
            ftp.disconnect();
            logger.error("连接FTP服务器用户或者密码失败::" + ftp.getReplyString());
            throw new IOException("Cant Authentificate to FTP-Server");
        }
        if (logger.isDebugEnabled()) {
            logger.info("成功登录FTP服务器:" + host + " 端口:" + port);
        }
        ftp.setFileType(FTPClient.BINARY_FILE_TYPE);
        //回调FTP的操作
        return callback.doTransfer(ftp);
    } finally {
        //FTP退出
        ftp.logout();
        //断开FTP连接
        if (ftp.isConnected()) {
            ftp.disconnect();
        }
    }
}
 
开发者ID:numsg,项目名称:spring-boot-seed,代码行数:60,代码来源:FTPClientImpl.java


注:本文中的org.apache.commons.net.ftp.FTPClient.setDataTimeout方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。