JAVA读取十万行以上word文档时,用XWPFDocument解析的时候就内存溢出了。

InputStream inputStream = null;
XWPFDocument docx = null;
XWPFWordExtractor extractor = null;
inputStream = new FileInputStream(filePath);
docx = new XWPFDocument(inputStream);//这一步就内存溢出了
extractor = new XWPFWordExtractor(docx);

 

用c#的openxml读...

JAVA不可以直接去读吗?

之前做过excel的十万行秒写.

https://www.codeproject.com/Articles/877791/How-to-Create-Large-Excel-File-using-Openxml

试一下你就知道不开 XWPFDocument 有多赞了

https://docs.microsoft.com/en-us/office/open-xml/how-to-open-a-word-processing-document-for-read-only-access

显而易见的,读xml 比开XWPFDocument 不知道快多少倍

前提文档是 docx

那如果是doc的,该咋读?😂

doc文件没有xml格式...

excel是这样 docx我不太清楚..

从你代码里可以看出,是由于流过大导致的内存溢出,换文件存储的形式呢?

很显然的,读取xml要比开一个应用 快乐的多

有道理,我去试一下

分批量读取,读一部分释放一部分buffer;word是有xml格式的;

但是word的xml格式可读性不强,也有些问题,比如不能精确读取页数等问题