Проблема в том, что вы очищаете и закрываете FileOutputStream
, и это оставляет некоторые байты в буфере BufferedOutputStream
; Ваши файлы будут отсутствовать где-то между 0 и 1024 байтами в конце. Вместо этого измените оба этих вызова на сброс и закрытие bout
, и ваша проблема будет исправлена.
В сторону, это:
catch(Exception e){
}
- это грех программирования высшего порядка и источник многих трудно диагностируемых проблем - не этой, на этот раз, но холодной. Если что-то идет не так во время передачи, сообщение об ошибке будет игнорироваться. Не делай этого - никогда не делай этого.