Я хочу узнать размер содержимого внутри docx, pptx и т. Д. Есть ли какой-либо пакет, который можно использовать для этого? Я googled и обнаружил, что POI широко используется для чтения/записи в типы файлов MS. Но не удалось найти правильный api, чтобы найти размер содержимого файла. Я хочу знать фактический размер содержимого, а не размер сжатого файла, который можно увидеть из свойств.найти размер содержимого файла docx, pptx и т. Д.
Наконец-то я нашел способ, но он бросает исключение OOM, если файл слишком велик.
OPCPackage opcPackage = OPCPackage.open(file.getAbsolutePath());
XWPFDocument doc = new XWPFDocument(opcPackage);
XWPFWordExtractor we = new XWPFWordExtractor(doc);
String paragraphs = we.getText();
System.out.println("Total Paragraphs: "+paragraphs.length()/1024);
Пожалуйста, помогите мне, если есть другой лучший способ сделать это.
Итак, сумма длин каждой части пакета? В случае частей XML вы хотите, чтобы длина включала имена элементов, например w: p, или просто содержимое текстовых узлов? Обратите внимание, что длина XML-документа может варьироваться в зависимости от того, какие префиксы пространства имен используются, где объявляются пространства имен. Также в Open XML значение атрибута может быть истинным, 1 или включенным. – JasonPlutext
@JasonPlutext Я хочу найти размер текстового содержимого. – Cool
Использовать POI для извлечения текста, а затем вызвать 'textString.length()' на нем? – Gagravarr