hej, uzywam do ftpa paczki org.apache.commons.net.ftp
Prosta niby rzecz-z katalogu chce pobrac inputStreamy plikow. Robie to w ten oto sposob:

      FTPFile[] ff = ftpClient.listFiles();

      for (int i = 0; i < ff.length; i++) {

         if (ff[i].isFile()) {

            System.out.println(ftpClient.getReplyString());
            System.out.println( ff[i].getName());
            ftpClient.retrieveFileStream(ff[i].getName());
            System.out.println("nie null");
            boolean b = ftpClient.completePendingCommand();
            System.out.println(b);

         }
      }

 

no i pierwszy mi pobiera, a potem zwiecha! wczesniej nie wywolywalam ftpClient.completePendingCommand() to mi rzucal nullem. W dokumentacji doczytalam o tym completePendingCommand() no i teraz sie po prostu zwiesza. tzn to co bede miala wyswietlone to :

System.out.println(ftpClient.getReplyString()); =
226-Options: -a -l
226 10 matches total

System.out.println( ff[i].getName()); = test.txt

System.out.println("nie null"); = nie null

i potem stoi. nie wyswietla mi ostatniego printa wiec nie wiem czy completePendingCommand jest true czy false bo to sie nie wykona (przynamniej nie wykonalo sie przez pare min wiec zatrzymalam program).
Co dziwne, jesli w tym kodzie pozostawie tylko wyswietlanie nazw plikow, to petla ladnie sie wykona i wypisze mi wszystkie.

czy ktos z Was wie o co moze chodzic? na necie pisza ze przyczyna to nie wywolywanie completePendingCommand , no ale u mnie on zwiesza program.

pzdr,
misty