JAVA操作FTP

package  com.rtsapp.naval.endlessexp.test ;


import  org.apache.commons.net.ftp.FTPClient ;
import  org.apache.commons.net.ftp.FTPFile ;
import  org.apache.commons.net.ftp.FTPReply ;
import  org.apache.log4j.Logger ;

import  java.io.* ;

import static  org.apache.commons.net.ftp.FTP. BINARY_FILE_TYPE ;

public class  ftpTest {


    /**
     * 获取FTPClient
     *
     * @param url
     @param port
     @param username
     @param password
     @return
     */
   public static FTPClient getFtpCli(String url, int portString usernameString password) {
        Logger logger = Logger.getLogger(ftpTest.class);
        FTPClient ftp = new FTPClient();
        try {
            int reply;
           // 连接FTP服务器
           if (port > -1) {
                ftp.connect(urlport);
           else {
                ftp.connect(url);
            }

            // 登录FTP
            ftp.login(usernamepassword);
            reply = ftp.getReplyCode();
            ftp.setBufferSize(1024);//设置上传缓存大小
            ftp.setControlEncoding("UTF-8");//设置编码
            ftp.setFileType(BINARY_FILE_TYPE);//设置文件类型
           if (!FTPReply.isPositiveCompletion(reply)) {
                ftp.disconnect();
            }
        } catch (IOException e) {
            logger.error(e);
        }
        return ftp;
    }


    public static boolean downloadFile(FTPClient ftpString workPathString fileNameString localPath) {
        Logger logger = Logger.getLogger(ftpTest.class);
        boolean flag = false;
        if (ftp == null) {
            return flag;
        }
        try {
            ftp.changeWorkingDirectory(workPath);//转移到FTP服务器目录
            FTPFile[] files = ftp.listFiles();
            for (FTPFile file : files) {
                if (file.getName().equals(fileName)) {
                    File localFile = new File(localPath + "/" + file.getName());
                    OutputStream is = new FileOutputStream(localFile);
                    ftp.retrieveFile(file.getName()is);
                    is.close();
                }
            }

            ftp.logout();
            flag = true;

       catch (IOException e) {
            logger.error(e);
       finally {
            if (ftp.isConnected()) {
                try {
                    ftp.disconnect();
               catch (IOException e) {
                    logger.error(e);
                }
            }
        }
        return flag;
    }


    public static boolean uploadFile(FTPClient ftpString workPathString fileNameString localPath) {
        Logger logger = Logger.getLogger(ftpTest.class);
        boolean flag = false;
        if (ftp == null) {
            return flag;
        }
        try {
            ftp.changeWorkingDirectory(workPath);//转移到FTP服务器目录
            FileInputStream input = new FileInputStream(new File(localPath + "/" + fileName));
            ftp.storeFile(fileNameinput);

            input.close();
            ftp.logout();
            flag = true;

       catch (IOException e) {
            logger.error(e);
       finally {
            if (ftp.isConnected()) {
                try {
                    ftp.disconnect();
               catch (IOException e) {
                    logger.error(e);
                }
            }
        }
        return flag;
    }


    public static boolean deleteFile(FTPClient ftpString workPathString fileName) {
        Logger logger = Logger.getLogger(ftpTest.class);
        boolean flag = false;
        if (ftp == null) {
            return flag;
        }
        try {
            ftp.changeWorkingDirectory(workPath);//转移到FTP服务器目录
            ftp.deleteFile(workPath + "/" + fileName);
            ftp.logout();
            flag = true;

       catch (IOException e) {
            logger.error(e);
       finally {
            if (ftp.isConnected()) {
                try {
                    ftp.disconnect();
               catch (IOException e) {
                    logger.error(e);
                }
            }
        }
        return flag;
    }


    public static boolean dirExist(FTPClient ftpString workPath) {
        Logger logger = Logger.getLogger(ftpTest.class);
        boolean flag = false;
        if (ftp == null) {
            return flag;
        }
        try {
            String[] dirs = workPath.split("/");
            String dirName = dirs[dirs.length 1];
            String path =workPath.substring(0workPath.indexOf(dirNameworkPath.length() - dirName.length()));
            ftp.changeWorkingDirectory(path);//转移到FTP服务器目录
            FTPFile[] files = ftp.listFiles();
            for (FTPFile file : files) {
                if (file.isDirectory()) {
                    if (file.getName().equals(dirName)) {
                        flag = true;
                    }
                }
            }
            ftp.logout();

       catch (IOException e) {
            logger.error(e);
       finally {
            if (ftp.isConnected()) {
                try {
                    ftp.disconnect();
               catch (IOException e) {
                    logger.error(e);
                }
            }
        }
        return flag;
    }


    public static boolean mkdirs(FTPClient ftpString workPath) {
        Logger logger = Logger.getLogger(ftpTest.class);
        boolean flag = false;
        if (ftp == null) {
            return flag;
        }
        try {
            ftp.changeWorkingDirectory(workPath);//转移到FTP服务器目录
            ftp.makeDirectory("king/ling");

            ftp.logout();
            flag = true;

       catch (IOException e) {
            logger.error(e);
       finally {
            if (ftp.isConnected()) {
                try {
                    ftp.disconnect();
               catch (IOException e) {
                    logger.error(e);
                }
            }
        }
        return flag;
    }




    public static void main(String[] args) throws IOException {
        FTPClient ftp = getFtpCli("123.59.67.107"21"h5web""h5webpwd");
       downloadFile(ftp"/MilitaryWar""index.html""/Users/admin/Downloads/king");
       uploadFile(ftp"/MilitaryWar""index2.html""/Users/admin/Downloads/king");
       deleteFile(ftp"/MilitaryWar""index2.html");
        System.out.print(mkdirs(ftp"/"));
    }

}package com.rtsapp.naval.endlessexp.test;


import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPFile;
import org.apache.commons.net.ftp.FTPReply;
import org.apache.log4j.Logger;

import java.io.*;

import static org.apache.commons.net.ftp.FTP.BINARY_FILE_TYPE;

public class ftpTest {


    /**
     * 获取FTPClient
     *
     * @param url
     @param port
     @param username
     @param password
     @return
     */
   public static FTPClient getFtpCli(String url, int portString usernameString password) {
        Logger logger = Logger.getLogger(ftpTest.class);
        FTPClient ftp = new FTPClient();
        try {
            int reply;
           // 连接FTP服务器
           if (port > -1) {
                ftp.connect(urlport);
           else {
                ftp.connect(url);
            }

            // 登录FTP
            ftp.login(usernamepassword);
            reply = ftp.getReplyCode();
            ftp.setBufferSize(1024);//设置上传缓存大小
            ftp.setControlEncoding("UTF-8");//设置编码
            ftp.setFileType(BINARY_FILE_TYPE);//设置文件类型
           if (!FTPReply.isPositiveCompletion(reply)) {
                ftp.disconnect();
            }
        } catch (IOException e) {
            logger.error(e);
        }
        return ftp;
    }


    public static boolean downloadFile(FTPClient ftpString workPathString fileNameString localPath) {
        Logger logger = Logger.getLogger(ftpTest.class);
        boolean flag = false;
        if (ftp == null) {
            return flag;
        }
        try {
            ftp.changeWorkingDirectory(workPath);//转移到FTP服务器目录
            FTPFile[] files = ftp.listFiles();
            for (FTPFile file : files) {
                if (file.getName().equals(fileName)) {
                    File localFile = new File(localPath + "/" + file.getName());
                    OutputStream is = new FileOutputStream(localFile);
                    ftp.retrieveFile(file.getName()is);
                    is.close();
                }
            }

            ftp.logout();
            flag = true;

       catch (IOException e) {
            logger.error(e);
       finally {
            if (ftp.isConnected()) {
                try {
                    ftp.disconnect();
               catch (IOException e) {
                    logger.error(e);
                }
            }
        }
        return flag;
    }


    public static boolean uploadFile(FTPClient ftpString workPathString fileNameString localPath) {
        Logger logger = Logger.getLogger(ftpTest.class);
        boolean flag = false;
        if (ftp == null) {
            return flag;
        }
        try {
            ftp.changeWorkingDirectory(workPath);//转移到FTP服务器目录
            FileInputStream input = new FileInputStream(new File(localPath + "/" + fileName));
            ftp.storeFile(fileNameinput);

            input.close();
            ftp.logout();
            flag = true;

       catch (IOException e) {
            logger.error(e);
       finally {
            if (ftp.isConnected()) {
                try {
                    ftp.disconnect();
               catch (IOException e) {
                    logger.error(e);
                }
            }
        }
        return flag;
    }


    public static boolean deleteFile(FTPClient ftpString workPathString fileName) {
        Logger logger = Logger.getLogger(ftpTest.class);
        boolean flag = false;
        if (ftp == null) {
            return flag;
        }
        try {
            ftp.changeWorkingDirectory(workPath);//转移到FTP服务器目录
            ftp.deleteFile(workPath + "/" + fileName);
            ftp.logout();
            flag = true;

       catch (IOException e) {
            logger.error(e);
       finally {
            if (ftp.isConnected()) {
                try {
                    ftp.disconnect();
               catch (IOException e) {
                    logger.error(e);
                }
            }
        }
        return flag;
    }


    public static boolean dirExist(FTPClient ftpString workPath) {
        Logger logger = Logger.getLogger(ftpTest.class);
        boolean flag = false;
        if (ftp == null) {
            return flag;
        }
        try {
            String[] dirs = workPath.split("/");
            String dirName = dirs[dirs.length 1];
            String path =workPath.substring(0workPath.indexOf(dirNameworkPath.length() - dirName.length()));
            ftp.changeWorkingDirectory(path);//转移到FTP服务器目录
            FTPFile[] files = ftp.listFiles();
            for (FTPFile file : files) {
                if (file.isDirectory()) {
                    if (file.getName().equals(dirName)) {
                        flag = true;
                    }
                }
            }
            ftp.logout();

       catch (IOException e) {
            logger.error(e);
       finally {
            if (ftp.isConnected()) {
                try {
                    ftp.disconnect();
               catch (IOException e) {
                    logger.error(e);
                }
            }
        }
        return flag;
    }


    public static boolean mkdirs(FTPClient ftpString workPath) {
        Logger logger = Logger.getLogger(ftpTest.class);
        boolean flag = false;
        if (ftp == null) {
            return flag;
        }
        try {
            ftp.changeWorkingDirectory(workPath);//转移到FTP服务器目录
            ftp.makeDirectory("king/ling");

            ftp.logout();
            flag = true;

       catch (IOException e) {
            logger.error(e);
       finally {
            if (ftp.isConnected()) {
                try {
                    ftp.disconnect();
               catch (IOException e) {
                    logger.error(e);
                }
            }
        }
        return flag;
    }




    public static void main(String[] args) throws IOException {
        FTPClient ftp = getFtpCli("127.0.0.1"21"username""password");
       downloadFile(ftp"/MilitaryWar""index.html""/Users/admin/Downloads/king");
       uploadFile(ftp"/MilitaryWar""index2.html""/Users/admin/Downloads/king");
       deleteFile(ftp"/MilitaryWar""index2.html");
        System.out.print(mkdirs(ftp"/"));
    }

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值