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

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

作者: 小人物不说大话 | 来源:发表于2020-03-16 20:36 被阅读0次

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

检验思路:

首先需要连接“ftp”服务器,然后设置文件类型为二进制,并设置编码格式,接着提取绝对地址的目录及文件名,最后检验指定文件是否存在即可。

推荐java相关视频教程: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

*/

publicstaticboolean isFTPFileExist(String filePath,String user,String passward,String ip,int port){

        FTPClient ftp = newFTPClient();

        try{

    // 连接ftp服务器

            ftp.connect(ip, port);

            // 登陆   

            ftp.login(user, passward);

           // 检验登陆操作的返回码是否正确

            if(!FTPReply.isPositiveCompletion(ftp.getReplyCode())){

                ftp.disconnect();

                returnfalse;

            }

            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(newString(dir.getBytes("GBK"),FTP.DEFAULT_CONTROL_ENCODING));

            // 检验文件是否存在

            InputStream is = ftp.retrieveFileStream(newString(file.getBytes("GBK"),FTP.DEFAULT_CONTROL_ENCODING));

            if(is == null || ftp.getReplyCode() == FTPReply.FILE_UNAVAILABLE){

                returnfalse;

            }

            if(is != null){

                is.close();

                ftp.completePendingCommand();

            }

            returntrue;

        } catch(Exception e) {

            e.printStackTrace();

        }finally{

            if(ftp != null){

                try{

                    ftp.disconnect();

                } catch(IOException e) {

                    e.printStackTrace();

                }

            }

        }

        returnfalse;

}

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

相关文章

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

    java中如何检验ftp服务器中指定文件是否存在 检验思路: 首先需要连接“ftp”服务器,然后设置文件类型为二进...

  • Java 实现ftp文件上传

    在JAVA程序中,经常需要和FTP打交道,比如向FTP服务器上传文件、下载文件,本文详细介绍如何利用FTPClie...

  • JAVA中使用FTPClient实现文件上传下载

    在JAVA程序中,经常需要和FTP打交道,比如向FTP服务器上传文件、下载文件,本文简单介绍如何利用jakarta...

  • 如何在linux命令行中使用ftp命令上传和下载文件

    这里介绍在 Linux shell 中如何使用 ftp 命令。包括如何连接 FTP 服务器,上传或下载文件以及创建...

  • 048-python常用

    1、判断文件(夹)是否存在 os模块中的os.path.exists()方法用于检验文件是否存在。 判断文件夹是否...

  • java中如何判断file是否存在

    java中如何判断file是否存在 此示例显示如何使用File类的file.exists()方法检查文件的存在。 ...

  • 文件

    检验指定路径下是否存在指定的目录或者文件. 结论:File对象也可以表示不存在的文件。其实代表了一个抽象路径构建一...

  • 查看ftp服务

    今天需要向阿里云的轻量级服务器上传文件,查看一下ftp服务是否存在以及是否启动。查看服务是否存在的命令如下: 查看...

  • python生成简单的FTP弱口令扫描

    前言 Ftp这个类实现了Ftp客户端的大多数功能,比如连接Ftp服务器、查看服务器中的文件、上传、下载文件等功能,...

  • 第一篇文章

    1、连接FTP服务器 /// /// 连接FTP服务器 /// /// FTP连接地址 /// 指定FTP连接成功...

网友评论

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

      本文链接:https://www.haomeiwen.com/subject/eavoehtx.html