由于ByteArrayInputStream
限制为2GB,是否有可替代的解决方案,可以将2.3GB(甚至更大)文件的整个内容存储到InputStream
中以供Stax2读取?
当前代码:
XMLInputFactory xmlInputFactory = XMLInputFactory.newInstance();
XMLStreamReader xmlStreamReader = xmlInputFactory.createXMLStreamReader(in); //ByteArrayInputStream????
try
{
SchemaFactory factory = SchemaFactory.newInstance("http://www.w3.org/2001/XMLSchema");
Schema schema = factory.newSchema(new StreamSource(schemaInputStream));
Validator validator = schema.newValidator();
validator.validate(new StAXSource(xmlStreamReader));
}
finally
{
xmlStreamReader.close();
}
在性能调优中,变量in
不能来自磁盘。我有大量的内存。