Я использую один сеанс с несколькими каналами для загрузки файлов из разных папок, расположенных на SFTP.
Для этого процесса загрузки у меня есть набор плановые работы. Каждое задание:
- открывает новый канал (ChannelSftp) каждый раз. имя канала: sftp
- использует метод ChannelSftp.ls(), чтобы получить размер общего количества файлов для загрузки.
- Если размер (Вектор) больше нуля, затем используется ChannelSftp.get(remotedir/'*.*', localdir) для загрузки всех файлов
наконец закрывает открытый канал.< /li>
Кто-нибудь может подсказать мне, почему это произойдет. В чем может быть причина. Как решить эту проблему
ниже приведен код, который я использую:
ChannelSftp channelSftp = null;
try {
channelSftp = getChannelConnectionUtil().openChannel(); //SFTPConnection.getSession().openChannel("sftp");
@SuppressWarnings("rawtypes")
Vector numOfFiles = channelSftp.ls(ftpDir+"/*.*");
if(numOfFiles.size() > 0){
channelSftp.get(ftpDir+"/*.*",localDir); // Here I am getting error
}
} catch (Exception e) {
e.printStackTrace();
} finally {
getChannelConnectionUtil().disconnectChannel(channelSftp);
}
Подробнее здесь: https://stackoverflow.com/questions/171 ... using-jsch
Мобильная версия