Почему валидатор не пропускает вот такое решение? public void createZip(Path source) throws Exception{ ZipOutputStream zos = null; InputStream in = null; try { zos = new ZipOutputStream(Files.newOutputStream(zipFile)); String[] arr = String.valueOf(source).split("/"); String file = arr[arr.length - 1]; ZipEntry ze = new ZipEntry(file); zos.putNextEntry(ze); in = Files.newInputStream(source); byte[] bytes = new byte[1000]; while (in.available() > 0) { in.read(bytes); zos.write(bytes); } }finally { in.close(); zos.close(); } } А вот такое пропускает public void createZip(Path source) throws Exception{ ZipOutputStream zos = null; InputStream in = null; try { zos = new ZipOutputStream(Files.newOutputStream(zipFile)); String[] arr = String.valueOf(source).split("/"); String file = arr[arr.length - 1]; ZipEntry ze = new ZipEntry(file); zos.putNextEntry(ze); in = Files.newInputStream(source); while (in.available() > 0) { int b = in.read(); zos.write(b); } }finally { in.close(); zos.close(); } } Если я ничего не путаю, то в предыдущих лекциях говорилось, что предпочтительнее использовать массив байт, чем читать и писать по одному байту. Что я упустил?