You need to call readDir(h) multiple times until it returns null which signifies that the whole directory has been read.
2015-10-15 20:20 GMT+02:00 Gabriel Kapitany <gkapit...@symcor.com>: > Hi all, > > > > I’m using the SSH client library and trying to list a remote directory > containing large number of files +10,000. > > > > Something along this line: > > ….. > > sftp = session.createSftpClient(); > > … > > List<String> myList = *new* ArrayList<String>(); > > SftpClient.DirEntry[] dir = *null*; > > *try* { > > h = sftp.openDir(folder); > > dir = sftp.readDir(h); > > > > > > } *catch* (IOException e) { > > > > *throw* *new* InterruptedException("Can't open directory: " > + e); > > } > > > > *int* count = dir.length; > > > > > > I’m looking for files in the list with a particular extension > filexxxxxx.ext, for which I call sftp.get. > > The listing returns around 100 files unsorted, which doesn’t hold any of > the *.ext files, even though there are many of them on the remote folder. > At this point my application gets stuck. > > > > I think this is due to the buffer size. How can I retrieve the whole > list? Or, is there any other way to deal with the problem? > > > > Thanks, > > Gabriel > > > > CONFIDENTIALITY WARNING > This communication, including any attachments, is for the exclusive use of > addressee and may contain proprietary and/or confidential information. If > you are not the intended recipient, any use, copying, disclosure, > dissemination or distribution is strictly prohibited. If you are not the > intended recipient, please notify the sender immediately by return e-mail, > delete this communication and destroy all copies. > > AVERTISSEMENT RELATIF À LA CONFIDENTIALITÉ > Ce message, ainsi que les pièces qui y sont jointes, est destiné à l’usage > exclusif de la personne à laquelle il s’adresse et peut contenir de > l’information personnelle ou confidentielle. Si le lecteur de ce message > n’en est pas le destinataire, nous l’avisons par la présente que toute > diffusion, distribution, reproduction ou utilisation de son contenu est > strictement interdite. Veuillez avertir sur-le-champ l’expéditeur par > retour de courrier électronique et supprimez ce message ainsi que toutes > les pièces jointes. > >