Мне нужно прочитать кучу файлов .CSV с динамическими именами файлов с сервера SFTP. Эти файлы генерируются каждые 15 минут.
Я использую JSch ChannelSftp, но нет метода, который бы дал точные имена файлов. Я вижу только метод .ls()
. Это дает вектор, например,
[drwxr-xr-x 2 2019 2019 144 Aug 9 22:29 .,
drwx------ 6 2019 2019 176 Aug 27 2009 ..,
-rw-r--r-- 1 2019 2019 121 Aug 9 21:03 data_task1_2011_TEST.csv,
-rw-r--r-- 1 2019 2019 121 Aug 9 20:57 data_task1_20110809210007.csv]
Есть ли простой способ прочитать все файлы в каталоге и скопировать их в другое место?
Этот код работает для копирования одного файла:
JSch jsch = new JSch();
session = jsch.getSession(SFTPUSER,SFTPHOST,SFTPPORT);
session.setPassword(SFTPPASS);
java.util.Properties config = new java.util.Properties();
config.put("StrictHostKeyChecking", "no");
session.setConfig(config);
session.connect();
channel = session.openChannel("sftp");
channel.connect();
channelSftp = (ChannelSftp)channel;
channelSftp.cd(SFTPWORKINGDIR);
channelSftp.get("data_task1_20110809210007.csv","data_task1_20110809210007.csv");