场景:需要从FTP服务器一个文件目录下down下来所有的文件,上传到项目某个目录下。
上传下载删除获取文件下所有文件,顺便加上获取到所有文件进行下载。
package a1;
/**
* 1----public boolean uploadFile(String path ,File localFile,String fileNewName); 上传文件 path 文件存入FTP 的路径,
* localFile 文件在本地的路径,fileNewName 文件上传FTP后名字
*
* 2----public boolean downloadFileq(String path,String ftpName,File localFile);文件下载 @param ftpName ftp上的文件名 , localFile 保存的本地地址
* path ftp上的文件路径
*
* 3----public boolean deleteFile(String path,String ftpName); 文件删除 path ftp上的文件路径
*
* 4----public boolean findFile(String pathName,String judge); 获取指定文件夹下的文件目录 pathName 需要获取文件夹下文家目录的文件夹路径 ,
* judge 是否进行下级文件夹遍历,"Y"选择遍历 "N"选择不遍历
* @author Dell
*
*/
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.net.SocketException;
import java.util.ArrayList;
import java.util.List;
import net.sf.json.JSONArray;
import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPFile;
import com.alibaba.fastjson.JSONObject;
public class FTPUtil {
public static String ftpHost;
public static int port;
public static String userName;
public static String passWord;
public static String ftpEncode;
public static int defaultTimeout;
/**
* 静态块,初始化ftp数据
*/
static{
try{
ftpHost = "130.1.10.10";
port = 21;
userName = "ywanjianbo@root@130.1.11.248";
passWord = "q1w2e3r4";
ftpEncode="UTF-8";
defaultTimeout = 30000;
}catch(Exception e){
e.printStackTrace();
}
}
/**
* 上传ftp
* @param path 文件存入FTP 的路径
* @param localFile 文件在本地的路径
* @param fileNewName 文件上传FTP后名字
* @return 成功返回true 失败返回false
* @throws SocketException
* @throws IOException
*/
public String uploadFile(String path ,File localFile,String fileNewName) {
boolean flag=true;
//获得文件流
FileInputStream is;
try {
is = new FileInputStream(localFile);
//保存至Ftp
FTPClient ftpClient = new FTPClient();// ftpHost为FTP服务器的IP地址,port为