Witam.
Używam klasy FTPClient do przesłania pliku na serwer FTP, przykładowy kod:
FTPClient ftpClient = new FTPClient();
ftpClient.connect(host);
ftpClient.login(user, password);
ftpClient.enterLocalPassiveMode();
ftpClient.setFileType(FTP.BINARY_FILE_TYPE);
FileInputStream fis = new FileInputStream(filePath);
ftpClient.storeFile(fileName, fis);
fis.close();
ftpClient.logout();
ftpClient.disconnect();
Chciałbym zliczyć ilość wysłanych bajtów (aby móc określić ile procent pliku zostało przesłane). Czytałem o CountingInputStream (http://www.discursive.com/books/cjcook/reference/guava-io-sect-measuring), jednak w przykładzie na stronie w przypadku CountingInputStream ilość bajtów jest pobierana dopiero po przesłaniu ich do serwera, a ja chciałbym móc to robić w trakcie przesyłania. Natknąłem się też na klasę ProgressMonitorInputStream, ale ona z tego co zrozumiałem wyświetla okno dialogowe, a nie o to mi chodzi.
Podsumowując moje pytanie brzmi: jak mogę na bieżąco odczytywać ilość bajtów wysłanych do serwera przez FTPClient?