jsch下载文件的两个注意点

时间:2023-03-10 01:22:19
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);
}
}
}