相关疑难解决方法(0)

在zip中的xml文件上使用SAX解析器

由于要处理的文件大小(50-100MB xml文件),这可能超出了Java VM的功能

现在我有一组作为拉链发送的xml文件,然后全部解压缩,然后使用SAX一次处理一个目录中的所有XML.

为了节省时间和空间(因为压缩大约是1:10),我想知道是否有办法将作为xml文件的ZipFileEntry传递给SAX处理程序.

我已经看到它使用DocumentBuilder和其他xml解析方法完成,但是对于性能(尤其是内存),我坚持使用SAX.

目前我正在以下列方式使用SAX

        SAXParserFactory factory = SAXParserFactory.newInstance();
        SAXParser saxParser = factory.newSAXParser();

        MyHandler handler = new MyHandler();

        for( String curFile : xmlFiles )
        {
            System.out.println( "\n\n\t>>>>> open " + curFile + " <<<<<\n");
            saxParser.parse( "file://" + new File( dirToProcess + curFile ).getAbsolutePath(), handler );
        }
Run Code Online (Sandbox Code Playgroud)

java zip saxparser xml-parsing

4
推荐指数
1
解决办法
4107
查看次数

JarFile是从*.jar或输入流文件?

我有一个罐子或战争.

我是programmaticaly读取这个jar,当我在这个jar里面找到jar时,我想编程再次阅读它.

但是JarFile只提供了getInputStream,我无法将其传递给JarFile(文件文件)构造函数.

如何从jar读取jar?

编辑:我正在考虑从类加载器或类似的方式获取文件.

java

3
推荐指数
1
解决办法
8834
查看次数

标签 统计

java ×2

saxparser ×1

xml-parsing ×1

zip ×1