您的位置 首页 技术

java如何检验ftp服务器中指定文件是否存在

项目工作中,需要检验ftp服务器中指定文件是否存在,在网上查阅了相关资料,可以通过ftpClient类进行实现。 免费学习视频教程分享:java课程 具体实现代码: import …

项目工作中,需要检验ftp服务器中指定文件是否存在,在网上查阅了相关资料,可以通过ftpClient类进行实现。

免费学习视频教程分享:java课程

具体实现代码:

import org.apache.commons.net.ftp.FTP;import org.apache.commons.net.ftp.FTPClient;import org.apache.commons.net.ftp.FTPReply;/***  检验指定路径的文件是否存在ftp服务器中* @param filePath--指定绝对路径的文件* @param user--ftp服务器登陆用户名* @param passward--ftp服务器登陆密码* @param ip--ftp的IP地址* @param port--ftp的端口号* @return*/public static boolean isFTPFileExist(String filePath,String user,String passward,String ip,int port){        FTPClient ftp = new FTPClient();        try {    // 连接ftp服务器            ftp.connect(ip, port);            // 登陆                ftp.login(user, passward);           // 检验登陆操作的返回码是否正确            if(!FTPReply.isPositiveCompletion(ftp.getReplyCode())){                ftp.disconnect();                return false;            }                        ftp.enterLocalActiveMode();            // 设置文件类型为二进制,与ASCII有区别            ftp.setFileType(FTP.BINARY_FILE_TYPE);            // 设置编码格式            ftp.setControlEncoding("GBK");                        // 提取绝对地址的目录以及文件名            filePath = filePath.replace("ftp://"+ip+":"+port+"/", "");            String dir = filePath.substring(0, filePath.lastIndexOf("/"));            String file = filePath.substring(filePath.lastIndexOf("/")+1);                        // 进入文件所在目录,注意编码格式,以能够正确识别中文目录            ftp.changeWorkingDirectory(new String(dir.getBytes("GBK"),FTP.DEFAULT_CONTROL_ENCODING));            // 检验文件是否存在            InputStream is = ftp.retrieveFileStream(new String(file.getBytes("GBK"),FTP.DEFAULT_CONTROL_ENCODING));            if(is == null || ftp.getReplyCode() == FTPReply.FILE_UNAVAILABLE){                return false;            }                        if(is != null){                is.close();                ftp.completePendingCommand();            }            return true;        } catch (Exception e) {            e.printStackTrace();        }finally{            if(ftp != null){                try {                    ftp.disconnect();                } catch (IOException e) {                    e.printStackTrace();                }            }        }        return false;}

相关文章教程推荐:java入门教程

以上就是java如何检验ftp服务器中指定文件是否存在的详细内容,更多请关注24课堂在线网其它相关文章!

本文来自网络,不代表24小时课堂在线立场,转载请注明出处:https://www.24ketang.cn/15755.html

为您推荐

返回顶部