我有一个巨大的XML文件(15 GB).我想将XML文件中的"text"标记转换为单个页面.
示例XML文件:
<root>
<page>
<id> 1 </id>
<text>
.... 1000 to 50000 lines of text
</text>
</page>
... Like wise 2 Million `page` tags
</root>
Run Code Online (Sandbox Code Playgroud)
我最初使用DOM解析器,但它会抛出JAVA OUT OF MEMORY(有效).现在,我使用STAX编写了JAVA代码.它运作良好,但性能非常慢.
这是我写的代码:
XMLEventReader xMLEventReader = XMLInputFactory.newInstance().createXMLEventReader(new FileInputStream(filePath));
while(xMLEventReader.hasNext()){
xmlEvent = xMLEventReader.nextEvent();
switch(xmlEvent.getEventType()){
case XMLStreamConstants.START_ELEMENT:
if( element == "text")
isText = true;
break;
case XMLStreamConstants.CHARACTERS:
chars = (Characters) xmlEvent;
if(! (chars.isWhiteSpace() || chars.isIgnorableWhiteSpace()))
if(isText)
pageContent += chars.getData() + '\n';
break;
case XMLStreamConstants.END_ELEMENT:
String elementEnd = (((EndElement) xmlEvent).getName()).getLocalPart();
if( elementEnd == "text" ) …Run Code Online (Sandbox Code Playgroud) 任何人都可以解释Teradata中的查询频段吗?我对此进行了很多搜索,但是无法获得我能理解的信息.请稍微详细一点.
谢谢!!!
我正在尝试将字符串分组为地图输出.
例如:
String = "
a,a
a,b
a,c
b,a
b,b
b,c"
Run Code Online (Sandbox Code Playgroud)
OP:
a a,b,c
b a,b,c
Run Code Online (Sandbox Code Playgroud)
这种输出是否可以一步完成?
我有一个巨大的文件,每行都有独特的单词.文件大小约为1.6 GB(我要在此之后对其他文件进行排序,大约为15GB).直到现在,我使用的文件较小Array.sort().但对于这个文件我得到了java.lang.OutOfMemoryError: Java heap space.我知道这个错误的原因.有没有办法,而不是写完整的快速排序或合并排序程序.
我读到Array.sort()在内部使用Quicksort或Hybrid Sort.有没有像Array.sort()??的程序?
如果我必须编写一个程序进行排序,我应该使用哪一个?Quicksort或Merge排序.我担心最坏的情况.