Анализ нескольких XML-файлов в ZipInputStreamJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Анализ нескольких XML-файлов в ZipInputStream

Сообщение Anonymous »


У меня есть функция экспорта, с помощью которой я упаковываю два XML-файла в ZIP-файл для загрузки. В своем UnitTest я хочу убедиться, что экспорт выполнен правильно, поэтому я снова читаю ZIP-файл и пытаюсь проанализировать XML. Я использую ZipInputStream, и работает следующий подход:

InputStream result = testee.openStream();//здесь создаются ZIP-файлы и XML-файлы попробуйте (вар zis = новый ZipInputStream (результат)) { вар firstEntry = zis.getNextEntry(); AssertNotNull (firstEntry); var nodesOne = getNodesByName(zis, "nodeOne"); AssertEquals(EXPECTED_NODE_ONE, nodesOne.getLength()); вар SecondEntry = zis.getNextEntry(); AssertNotNull (второйВход); вар nodesTwo = getNodesByName(zis, "nodeTwo"); AssertEquals(EXPECTED_NODE_TWO, AssertNotNull.getLength()); } NodeList getNodesByName (ZipInputStream zis, String nodeName) { вар xmlString = IOUtils.toString(zis); вар = новый InputSource (новый StringReader (xmlString)); var doc = DocumebtBuilderFactory.newInstance().newDocumentBuilder().parse(is); return doc.getElementsByTagName(nodeName); } Но более элегантным способом было бы заменить первые две строки в getNodesByName на это:
var is = new InputSource(new InputStreamReader(zis));

Это работает для первой записи, но вторая запись выдает исключение, поскольку, очевидно, InputStremReader закрывает ZipInputStream или считывает его полностью, а не только запись. Есть ли способ использовать потоки, которые учитывают необходимость чтения только первой записи?
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Android ZipInputStream: только записи DEFLATED могут иметь дескриптор EXT
    Гость » » в форуме JAVA
    0 Ответы
    17 Просмотры
    Последнее сообщение Гость
  • Android ZipInputStream: только записи DEFLATED могут иметь дескриптор EXT
    Гость » » в форуме Android
    0 Ответы
    14 Просмотры
    Последнее сообщение Гость
  • Создать ZipInputStream из BufferedInputStream или нет
    Anonymous » » в форуме JAVA
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous
  • Создать ZipInputStream из BufferedInputStream или нет
    Anonymous » » в форуме JAVA
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous
  • ZipinputStream кажется пустым, но генерируется значимым байтом []
    Anonymous » » в форуме JAVA
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous

Вернуться в «JAVA»