ftp读取文件 java_java Ftp读取服务器文件

pom依赖:

commons-net

commons-net

3.6

java代码:

package com.cong.quartz.util;

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

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

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

import java.io.IOException;

import java.io.InputStream;

/**

* ftp读取文件

*/

public class FtpUtils {

public static final String ip = "49.232.136.**";

public static final int port = 21;

public static final String username = "****";

public static final String password = "****";

public boolean readFtp() {

FTPClient ftp = new FTPClient();

InputStream ins = null;

try {

int reply;

ftp.connect(ip,port);

ftp.login(username,password);

reply = ftp.getReplyCode();

if (!FTPReply.isPositiveCompletion(reply)) {

ftp.disconnect();

return false;

}

ftp.changeWorkingDirectory("/home/fireuser/soil");//转移到FTP服务器目录

FTPFile[] fs = ftp.listFiles();

for (FTPFile ff:fs){

//从服务器读取指定的文件

ins = ftp.retrieveFileStream(ff.getName());

//根据InputStream操作文件的相关代码写在这里

//主动调用一次getreply,解决再次读取返回null的问题

ftp.getReply();

}

ftp.logout();

} catch (Exception e) {

e.printStackTrace();

}finally {

try {

if (ins != null){

ins.close();

}

if(ftp.isConnected()){

ftp.disconnect();

}

} catch (IOException e) {

e.printStackTrace();

}

}

return true;

}

}

pom依赖: commons-net commons-net 3.6 java代码: package com.cong.quartz.util; import org.apache.commons.net.ftp.FTPClient; import org.apache.commons.net.ftp.FTPFile; import org.apache.commons.net.ftp.FTPReply; import java.io.IOException; import java.io.InputStream; /** * ftp读取文件 */ public class FtpUtils { public static final String ip = "49.232.136.**"; public static final int port = 21; public static final String username = "****"; public static final String password = "****"; public boolean readFtp() { FTPClient ftp = new FTPClient(); InputStream ins = null; try { int reply; ftp.connect(ip,port); ftp.login(username,password); reply = ftp.getReplyCode(); if (!FTPReply.isPositiveCompletion(reply)) { ftp.disconnect(); return false; } ftp.changeWorkingDirectory("/home/fireuser/soil");//转移到FTP服务器目录 FTPFile[] fs = ftp.listFiles(); for (FTPFile ff:fs){ //从服务器读取指定的文件 ins = ftp.retrieveFileStream(ff.getName()); //根据InputStream操作文件的相关代码写在这里 //主动调用一次getreply,解决再次读取返回null的问题 ftp.getReply(); } ftp.logout(); } catch (Exception e) { e.printStackTrace(); }finally { try { if (ins != null){ ins.close(); } if(ftp.isConnected()){ ftp.disconnect(); } } catch (IOException e) { e.printStackTrace(); } } return true; } }
经验分享 程序员 微信小程序 职场和发展