Я пытаюсь поместить файл в каталог SFTP, используя JSch.
channelSftp.cd(destDir);
channelSftp.put(new FileInputStream(filePath), filePath.substring(filePath.lastIndexOf(File.separatorChar)));
Но приведенный выше код помещает файл всегда в домашний каталог пользователя SFTP, а не destDir
. Например, если я создаю подкаталог test
в домашнем каталоге пользователя и задаю destDir
как channelSftp.getHome()+"test"
, файл все равно копируется только в домашний каталог пользователя, а не в тестовый подкаталог.
Я попытался перечислить файлы в destDir
(подкаталог test
), он показывает все файлы / каталоги в каталоге test
.
Vector<com.jcraft.jsch.ChannelSftp.LsEntry> vv = channelSftp.ls(destDir);
if(vv != null) {
for(int ii=0; ii<vv.size(); ii++){
Object obj=vv.elementAt(ii);
if(obj instanceof LsEntry){
System.out.println(((LsEntry)obj).getLongname());
}
}
}
Есть предложения? Я посмотрел на разрешения (подкаталог test
имеет те же права, что и домашний каталог пользователя SFTP).