Le téléchargement de Plusieurs Fichiers via SFTP en utilisant Java

Je suis nouveau sur le java et je suis en train d'écrire un script qui va tirer plusieurs fichiers à partir de différents SFTP sites au quotidien.

J'ai le code ci-dessous qui va tirer 1 fichier de 1 site et il fonctionne, mais j'ai du mal à trouver comment modifier mon code pour qu'il télécharge plusieurs fichiers. Ainsi, par exemple, tous les fichiers dans le répertoire distant, ou seulement certains fichiers contenant certaines lettres

Pouvez-vous me conseiller sur cette s'il vous plaît?

code:-

package package1;  
import java.io.BufferedInputStream;  
import java.io.BufferedOutputStream;  
import java.io.File;  
import java.io.FileOutputStream;  
import java.io.OutputStream;  
import com.jcraft.jsch.Channel;  
import com.jcraft.jsch.ChannelSftp;  
import com.jcraft.jsch.JSch;  
import com.jcraft.jsch.Session;  
public class SFTPpullsshkeys {  
public SFTPpullsshkeys() {  
}
public static void main(String[] args) {  
String SFTPHOST = "IP";  
int    SFTPPORT = 22;  
String SFTPUSER = "Username";  
String passphrase = "passphrase";  
String SFTPWORKINGDIR = "remote directory";    
String prikeyfile = "C:\\Open SSH Key.ppk";
Session     session     = null;  
Channel     channel     = null;  
ChannelSftp channelSftp = null;  
try{  
JSch jsch = new JSch();  
jsch.addIdentity(prikeyfile, passphrase);
session = jsch.getSession(SFTPUSER,SFTPHOST,SFTPPORT);  
session.setConfig("StrictHostKeyChecking", "no"); 
session.connect();  
channel = session.openChannel("sftp");  
channel.connect();  
channelSftp = (ChannelSftp)channel;  
channelSftp.cd(SFTPWORKINGDIR);  
byte[] buffer = new byte[1024];  
BufferedInputStream bis = new BufferedInputStream(channelSftp.get("file.csv"));  
File newFile = new File("C:\\file.csv"); 
OutputStream os = new FileOutputStream(newFile);  
BufferedOutputStream bos = new BufferedOutputStream(os);  
int readCount;  
while
( (readCount = bis.read(buffer)) > 0) {  
System.out.println("Writing files to disk: " );  
bos.write(buffer, 0, readCount);  
}  
bis.close();  
bos.close();  
}catch(Exception ex){  
ex.printStackTrace();  
}  
}      
} 

OriginalL'auteur tollgen | 2013-05-09