Как распаковать данные ByteArray в Java. zip.getNextEntry () возвращает null; - PullRequest
0 голосов
/ 21 апреля 2020

У меня проблема с распаковкой файла. Получение zip.getNextEntry () возвращает ноль.

 try
        {
            ByteArrayInputStream in = new ByteArrayInputStream(data);
            ZipInputStream zip = new ZipInputStream (in);
            ZipEntry entry = zip.getNextEntry();


            while (entry != null)
            {
                String name = entry.getName();
                ByteArrayOutputStream out = new ByteArrayOutputStream();
                byte[] buffer = new byte[2048];
                int length = zip.read(buffer);
                while (length != -1)
                {
                    out.write(buffer, 0, length);
                    length = zip.read(buffer);
                }
                //
                byte[] dataEntry = out.toByteArray();

                m_items.add (new MAttachmentEntry (name, dataEntry, m_items.size()+1));
                entry = zip.getNextEntry();
            }
        }
        catch (Exception e)
        {
            log.log(Level.SEVERE, "loadLOBData", e);
            m_items = null;
            return false;
        }
...