栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

jsch sftp如何删除包含文件的文件夹

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

jsch sftp如何删除包含文件的文件夹

sftp递归删除文件夹

背景:项目在做审计时,需要将任务运维过程中产生的审计信息上传到第三方平台,使用的工具是第三方库jsch,使用其中的ChannelSftp进行文件上传。

		
            com.jcraft
            jsch
            0.1.55
        

在进行sftp上传时,需要在上传失败时删除已上传的部分,但是看了一下相关的现有方法,发现没有能够直接删除文件夹(文件夹中包含文件或者文件夹)的方法。然后就自己搞了一个,亲测可用。

    public void deleteDirectory(String deleteDest) throws SftpException {
        if (sftp.stat(deleteDest).isDir()) {
            sftp.cd(deleteDest);
            Vector entries = sftp.ls(".");
            for (ChannelSftp.LsEntry entry: entries) {
                String fileName = entry.getFilename();
                if(fileName.equals(".") || fileName.equals("..")){
                    continue;
                }
                deleteDirectory(entry.getFilename());
            }
            sftp.cd("..");
            sftp.rmdir(deleteDest);
        } else {
            sftp.rm(deleteDest);
        }
    }

好了,以上就是使用jsch 删除远程服务器文件夹的方法,如果对你有帮助,就给个赞吧!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/854423.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号