Muszę przeczytać kilka plików .CSV z dynamicznymi nazwami plików z serwera SFTP. Te pliki są generowane co 15 minut.Korzystanie z JSch ChannelSftp: Jak odczytać wiele plików z nazwami dynamicznymi?
Używam JSch's ChannelSftp, ale nie ma metody, która dałaby dokładne nazwy plików. Widzę tylko metodę .ls()
. Daje to wektor np.
[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]
Czy istnieje prosty sposób na odczytanie wszystkich plików w katalogu i skopiowanie ich w inne miejsce?
Ten kod działa dla kopiowania pojedynczego pliku:
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");
Dzięki Paŭlo Ebermann. To jest szybkie. Doceniam Twoją pomoc. – pingu
Masz szczęście, że mam 'jsch' w [moje obserwowane tagi] (http://stackexchange.com/filters/19305/palos-filter) i gdzie właśnie sprawdzam kilka minut po wysłaniu :-). Miło, że mogłem pomóc. –
czy ten kod nadal obowiązuje dla jsch 1.49? – ides