JAVA FTP 连接 及判断文件是否存在

本文介绍了一个使用Java实现的FTP客户端工具类,该工具类能够连接指定的FTP服务器,并提供了判断远程服务器上特定路径下的文件是否存在的功能。通过具体的代码示例展示了如何进行FTP连接设置、文件存在性的检查流程及异常处理。
JAVA FTP 连接 及判断文件是否存在

package com.gy.util;

import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPFile;
import org.apache.commons.net.ftp.FTPReply;
import org.junit.Test;

public class FtpUtil1111 {

    private static  String url = "192.168.1.1";
    private static  int port = 21;
    private static  String username = "xxxxx";
    private static  String password = "xxxxx";
    @Test
    public void test(){
        for(int i=0;i<1;i++){
            boolean rs =  isExsits("/test/20170822/1300004/20170822-184800-184859-01-P-0-1.264.flv");
            System.out.println("rs==="+i+"  :"+rs);
        }
    }


    /***
     * 判断文件是否存在
     * @param ftpPath
     * @return
     */
    public static boolean isExsits(String ftpPath){
        FTPClient ftpx = getFTPClient( url,  port,  username,  password);
        try {
            FTPFile[] files =ftpx.listFiles(ftpPath);
            if(files!=null&&files.length>0){
                System.out.println("files size:"+files[0].getSize());
                return true;
            }else {
                return false;
            }
        } catch (Exception e) {
            //重新连接一次,可以么?
            try {
                Thread.sleep(1000);
            } catch (Exception e1) {

            }
            System.out.println("重新连接....");
            ftp = null;
            return isExsits(ftpPath);
            //e.printStackTrace();
        }
    }

    private static FTPClient ftp;
    public  static FTPClient getFTPClient(String url, int port, String username, String password){
        if(ftp!=null)return ftp;
        FTPClient ftptemp = new FTPClient();
        try {
            int reply;
            ftptemp.connect(url, port);
            ftptemp.login(username, password);
            reply = ftptemp.getReplyCode();
            if (!FTPReply.isPositiveCompletion(reply)) {
                ftptemp.disconnect();
            }
            ftp = ftptemp;
        } catch (Exception e) {
            System.out.println(e.getMessage());
        }
        return ftp;
    }
 
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

英雄汉孑

每一滴心意都是对知识分享的赞美

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值