Я пытаюсь создать Zip-файл из Raw-String (например, когда вы открываете Zip-файл в редакторе), который я получаю из API.
Я пытался использовать Zip-API из Java 8, но я получаю «java.util.zip.ZipException: слишком много символов длины или расстояния» - ошибка.
ByteArrayInputStream bis = new ByteArrayInputStream(s.getBytes());
ZipInputStream zis = new ZipInputStream(bis);
FileOutputStream fos = new FileOutputStream("C:\\Users\\Desktop\\ArchiveTest.zip");
BufferedOutputStream bos = new BufferedOutputStream(fos);
ZipOutputStream zos = new ZipOutputStream(bos);
ZipEntry currentEntry;
byte[] buffer = new byte[8192];
while ((currentEntry = zis.getNextEntry()) != null) {
ZipEntry newEntry = new ZipEntry(currentEntry.getName());
zos.putNextEntry(newEntry);
int length;
while ((length = zis.read(buffer)) > 0) {
zos.write(buffer, 0, length);
}
zos.closeEntry();
}
zos.close();
Я предполагаю, что Java не может обработать неизвестные символы и изменить их, но как я могу изменить это поведение?
Спасибо за любые ответы!