ChannelSftp sftp上传文件判断子文件夹是否存在

java sftp上传文件夹时判断子目录是否存在,百度查全是获取父文件夹下的所有文件名,去匹配存在。这样速度慢,

sftp.stat(path)方法,API这也介绍这个方法Retrieves the file attributes of a file or directory。就是这个方法是用来检索文件夹或文件的属性的。

sftp.cd(serverPath);
// 判断子目录文件夹是否存在,不存在即创建
SftpATTRS attrs = null;
try {
	attrs = sftp.stat(folderName);
} catch (Exception e) {
	// TODO: handle exception
}
if (attrs == null) {
	sftp.mkdir(folderName);
	logger.info("创建子目录:" + folderName);
}

在stat方法外面捕获异常,如果子目录不存在,即抛出异常,attrs为空,再mkdir目录即可



你可能感兴趣的:(Java)