Java:如何解析文档文件(word 97-2003)?

Java:如何解析文档文件(word 97-2003)?,java,apache-poi,Java,Apache Poi,当我想解析.docx文件时,我会这样做: public String parseDOCX(String fileNameorFilePath ) { try { XWPFDocument docx = new XWPFDocument(new FileInputStream(fileNameorFilePath)); XWPFWordExtractor xwpfWordExtractor = new XWPFWordExtr

当我想解析.docx文件时,我会这样做:

public String parseDOCX(String fileNameorFilePath )
    {
        try {
            XWPFDocument docx = new XWPFDocument(new FileInputStream(fileNameorFilePath));
            XWPFWordExtractor xwpfWordExtractor = new XWPFWordExtractor(docx);
            return xwpfWordExtractor.getText();
        }
        catch ( Exception error )
        {
            throw  new RuntimeException(error);
        }
    }
当我使用此代码解析.doc文件(Word 97-2003)时,我遇到以下异常:

原因:org.apache.poi.openxml4j.exceptions.InvalidFormatException: 包应包含内容类型部分[M1.13]

打开.doc文件的最佳方式是什么?

根据其:

HWPF是我们将Microsoft Word 97(-2007)文件格式转换为纯Java的端口的名称。它还为旧的Word 6和Word 95文件格式提供有限的只读支持

HWPF的新Word 2007.docx格式的合作伙伴是XWPF。虽然HWPF和XWPF提供了类似的特性,但目前它们之间没有通用的接口

换句话说:代码中没有任何内容应该说明
XWPFDocument
,您需要使用为HWPF构建的相应接口类。

根据它们的:

HWPF是我们将Microsoft Word 97(-2007)文件格式转换为纯Java的端口的名称。它还为旧的Word 6和Word 95文件格式提供有限的只读支持

HWPF的新Word 2007.docx格式的合作伙伴是XWPF。虽然HWPF和XWPF提供了类似的特性,但目前它们之间没有通用的接口


换句话说:代码中没有任何内容应该说明
XWPFDocument
,您需要使用为HWPF构建的相应接口类。

相关:。doc和docx扩展使用不同的类,如xls和xlsxRelated:。doc和docx扩展使用不同的类,比如xls和xlsxusinghwpf:hwpfdocumentdocx=newhwpfdocument(newfileinputstream(fileNameorFilePath));我得到这个错误:java.lang.NoSuchMethodError:org.apache.poi.POIDocument:method()在org.apache.poi.HWPFDocument.(HWPFDocument.java:144)在org.apache.poi.HWPFDocument.(HWPFDocument.java:133)中找不到org.apache.poi.hwpf.HWPFDocument.(HWPFDocument.java:144)从类路径中删除旧的apache poi JAR-不支持在不同版本之间混合JA@托马斯还注意到:请注意不要进入评论问题乒乓球。是的,该异常表示某种类型的版本不匹配;我得到这个错误:java.lang.NoSuchMethodError:org.apache.poi.POIDocument:method()在org.apache.poi.HWPFDocument.(HWPFDocument.java:144)在org.apache.poi.HWPFDocument.(HWPFDocument.java:133)中找不到org.apache.poi.hwpf.HWPFDocument.(HWPFDocument.java:144)从类路径中删除旧的apache poi JAR-不支持在不同版本之间混合JA@托马斯还注意到:请注意不要进入评论问题乒乓球。是的,这个异常表示某种版本不匹配。