博主也很菜😂
需要jar包 commons-net-3.6.jar
地址 http://commons.apache.org/proper/commons-net/download_net.cgi
/**
* 获取FTP文件名字
* @param ftpClient 连接ftp
* @param hostName ip地址
* @param port 端口
* @param userName 用户名
* @param passWord 密码
* @param pathName 哪个路径下面文件的名字
* @param containsVar 想要取出来的文件名包含哪些字 如果不需要 给 空 "" 就好 不能为:null
* @return 返回的是一个list集合 里面存放的是 文件的名字
* @throws IOException
*/
public List<String> listName(FTPClient ftpClient,String hostName, int port, String userName, String passWord, String pathName, String containsVar) throws IOException {
/*ip地址 加 端口*/
ftpClient.connect(hostName, port);
/* 账号 密码 */
ftpClient.login(userName, passWord);
// 设置中文编码集,防止中文乱码
ftpClient.setControlEncoding("UTF-8");
// 获取"pathName"路径下面的文件名 将他们存为一个数组
FTPFile[] ftpFiles = ftpClient.listFiles(pathName);
/*存放匹配出来后的文件名*/
List<String> list = new ArrayList<>();
for (int i = 0; i < ftpFiles.length; i++) {
//循环取出文件名称 .getName():是获取文件名称
String ftpFilesName = ftpFiles[i].getName();
//判断是否有包含的文件名字
boolean contains = ftpFilesName.contains(containsVar);
//如果有将文件名字存入list集合
if (contains) {
list.add(ftpFilesName);
}
}
return list;
}
========================示例========================