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; } }