快捷搜索: 王者荣耀 脱发

JAVA FTPClient找不到路径

项目中,使用FTP做存储服务器,但是配置都没有错误,使用上传或下载到ftp的时候还是会报错。

断点显示这一行会抛出找不到文件夹的异常。

原因分析:传过来的descpath路径包含二级目录,类似于index/secendIndex这样,但FTPClien不支持创建二级目录,所以需要添加一个方法来创建路径。

添加一个创建函数:

public static FTPClient createDirctorys(FTPClient client,String desc) throws FTPIllegalReplyException, FTPAbortedException, FTPDataTransferException, IOException, FTPListParseException, FTPException {
		String[] Dirctorys = desc.split("/");
		for(int i = 0;i< Dirctorys.length;i++)
		{
			if (Dirctorys[i].equals(""))
			{
				continue;
			}
			//获取当前路径下所有的目录
			String[] files =  client.listNames();
			List<String> fileNameList = Arrays.asList(files);
			if (fileNameList.indexOf(Dirctorys[i]) != -1)
			{
				//如果存在,则切换
				client.changeDirectory(Dirctorys[i]);
			}else {
				//如果不存在,则创建后在切换
				client.createDirectory(Dirctorys[i]);
				client.changeDirectory(Dirctorys[i]);
			}
		}
		return client;
	}

循环创建所有目录,进入对应目录。之后将client对象返回即可。调用函数处也需要对应更改为:

经验分享 程序员 微信小程序 职场和发展