Добрый день воспользовался рекомендациями что ниже но все равно не выходит аленький цветочек Так как в прошлый раз я выпадал в тайм аут пункт 2 решил проработать пункт 3 исправил пункт 1 исправил пункт 4 исправил на моих тестовых файлах вроде работает))) --------------------------------------------------------------- 1. Для создания ZipEntry добавляемого файла необходим относительный путь, состоящий из родительского каталога внутри архива и имени добавляемого файла, причём имя должно быть кратким, например: // Полное имя добавляемого файла в файловой системе: C:/pathToTest/result.mp3 // Относительный путь к файлу внутри архива: new/result.mp3 Проверьте путь, получаемый в 41 строке и добавляемый в список list. 2. Для считывания данных из ZipInputStream, а также для чтения содержимого добавляемого файла используйте буферы. Это существенно ускорит работу алгоритма при обработке сравнительно больших файлов (размером в десятки мегабайт). На мой взгляд, причина тайм-аута при валидации - именно в этом. 3. Перед созданием новых ZipEntry и их записью в поток ZipOutputStream убедитесь, что список list не содержит двух одинаковых элементов. Если этого не сделать, то будут созданы два объекта ZipEntry с одинаковыми именами, что приведёт к ошибке во время записи в поток. Вообще говоря, для хранения информации о содержимом архива удобнее было бы использовать Map, где ключами были бы имена внутри архива, а значениями - соответствующие массивы с данными. 4. Для очистки списка f1 лучше воспользоваться методом clear(), специально предназначенным для этого.