jsch下载文件的两个注意点
1.关于sftp文件上传和下载的网上很多code,此处就不多写了。主要记录下工作中遇到的两个问题需要多注意。
1.判断sftp远程文件是否存在,通过异常捕获来判断该文件是否存在,存在返回SftpATTRS对象。
try{
String filename = "/home/omc/ylong/sftp/INTPahcfg.tar.gz"; SftpATTRS attr = chSftp.stat(filename); long fileSize = attr.getSize();
}catch(Exception e){}
2.查询sftp远程文件列表名称,根据文件下载列表来动态下载。
LsEntry 可以认为是文件服务器上的文件条目信息,把包含文件或者目录相关属性 。ls命令返回的Vector中的就是LsEntry对象列表。
Vector<LsEntry> list = null; try { list = channel.ls(channel.pwd()); } catch (SftpException e) { logger.error("can not list directory",e); return false; } for(LsEntry entry : list){ String fileName = entry.getFilename(); if(!fileName.equals(".") && !fileName.equals("..")){ if(entry.getAttrs().isDir()){ delDir(fileName); } else { delFile(fileName); } } }
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步