private void loadZip(InputStream in, String baseURI, RDFFormat dataFormat, RDFHandler rdfHandler) throws IOException, RDFParseException, RDFHandlerException { try (ZipInputStream zipIn = new ZipInputStream(in);) { for (ZipEntry entry = zipIn.getNextEntry(); entry != null; entry = zipIn.getNextEntry()) { if (entry.isDirectory()) { continue; } try { RDFFormat format = Rio.getParserFormatForFileName(entry.getName()).orElse(dataFormat); // Prevent parser (Xerces) from closing the input stream UncloseableInputStream wrapper = new UncloseableInputStream(zipIn); load(wrapper, baseURI, format, rdfHandler); } catch (RDFParseException e) { String msg = e.getMessage() + " in " + entry.getName(); RDFParseException pe = new RDFParseException(msg, e.getLineNumber(), e.getColumnNumber()); pe.initCause(e); throw pe; } finally { zipIn.closeEntry(); } } // end for } }
private void loadZip(InputStream in, String baseURI, RDFFormat dataFormat, RDFHandler rdfHandler) throws IOException, RDFParseException, RDFHandlerException { try (ZipInputStream zipIn = new ZipInputStream(in);) { for (ZipEntry entry = zipIn.getNextEntry(); entry != null; entry = zipIn.getNextEntry()) { if (entry.isDirectory()) { continue; } try { RDFFormat format = Rio.getParserFormatForFileName(entry.getName()).orElse(dataFormat); // Prevent parser (Xerces) from closing the input stream UncloseableInputStream wrapper = new UncloseableInputStream(zipIn); load(wrapper, baseURI, format, rdfHandler); } catch (RDFParseException e) { String msg = e.getMessage() + " in " + entry.getName(); RDFParseException pe = new RDFParseException(msg, e.getLineNumber(), e.getColumnNumber()); pe.initCause(e); throw pe; } finally { zipIn.closeEntry(); } } // end for } }
pe.initCause(e); throw pe; } finally {