Java ftp 文件传输

2019, Jan 31    

Java Ftp 文件传输

Maven 依赖

        <!-- https://mvnrepository.com/artifact/commons-net/commons-net -->
        <dependency>
            <groupId>commons-net</groupId>
            <artifactId>commons-net</artifactId>
            <version>3.3</version>
        </dependency>

Java代码

import org.apache.commons.net.ftp.*;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;

/**
 * Ftp
 *
 * @author Flynn
 * @version 1.0
 * @description TODO
 * @email liufenglin@163.com
 * @date 2019/1/31
 */
public class Ftp {
    static FTPClient ftp = new FTPClient();
    static String username = "ASUS";
    static String password = "hahahha";
    static String server = "127.0.0.1";
    static String directory = "/";
    static String remoteFileName = "src.zip";
    static String getRemoteFileType = "";
    static String filePath = "C:\\Users\\ASUS\\Desktop\\OKOK\\";
    static File file = null;
    static FileOutputStream fileOutputStream = null;

    public static void main(String[] args) throws IOException {
        testFtp();
    }

    public static void testFtp() throws IOException {
        try {
            int reply;
            ftp.connect(server);
            ftp.setFileType(FTP.BINARY_FILE_TYPE);
            ftp.login(username, password);

            reply = ftp.getReplyCode();
            if (!FTPReply.isPositiveCompletion(reply)) {
                // 连接出错则直接退出
                ftp.disconnect();
            }


            FTPFile[] files = ftp.listFiles(directory);
            for (int i = 0; i < files.length; i++) {
                if (remoteFileName.equals(files[i].getName())) {
                    file = new File(filePath + files[i].getName());
                    // 下载文件
                    fileOutputStream = new FileOutputStream(file);
                    ftp.retrieveFile(remoteFileName, fileOutputStream);
                    break;
                }
            }

            ftp.logout();
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            if (ftp.isConnected()) {
                try {
                    ftp.disconnect();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    }
}



github图床 https://fenglinliu.github.io/assets/img/blog/