Java 如何使用Poi读取文档文件?

Java 如何使用Poi读取文档文件?,java,ms-word,apache-poi,docx,Java,Ms Word,Apache Poi,Docx,我试图在编辑器窗格中查看word文件 我试过这些台词 import java.awt.Dimension; import java.awt.GridLayout; import java.io.File; import java.io.FileInputStream; import javax.swing.JEditorPane; import org.apache.poi.hwpf.HWPFDocument; import org.apache.poi.hwpf.extractor.WordE

我试图在编辑器窗格中查看word文件 我试过这些台词

import java.awt.Dimension;
import java.awt.GridLayout;
import java.io.File;
import java.io.FileInputStream;
import javax.swing.JEditorPane;
import org.apache.poi.hwpf.HWPFDocument;
import org.apache.poi.hwpf.extractor.WordExtractor;

public class editorpane extends JEditorPane
{
public editorpane(File file)
{

    try
    {
        FileInputStream fis = new FileInputStream(file.getAbsolutePath());
        HWPFDocument hwpfd = new HWPFDocument(fis);
        WordExtractor we = new WordExtractor(hwpfd);
        String[] array = we.getParagraphText();
        for (int i = 0; i < array.length; i++)
        {
            this.setPage(array[i]);
        }

    } catch (Exception e)
    {
        e.printStackTrace();
    }
我怎样才能解决这个问题

除此之外,我对这些台词不太清楚

for (int i = 0; i < array.length; i++)
        {
            this.setPage(array[i]);
        }
for(int i=0;i

我可以确认吗???

您正在尝试打开一个.docx文件(XWPF),其中包含.doc(HWPF)文件的代码。您可以对.docx文件使用
XWPFWordExtractor

有一个
ExtractorFactory
,您可以使用它让POI决定应用哪一个,并使用正确的类来打开文件,但是您不能逐页进行迭代,因为此时只有一个通用的
getText()
方法可用

像这样使用它

POITextExtractor extractor = ExtractorFactory.createExtractor(file);
extractor.getText();

你看到错误信息了吗?您是否尝试使用XSSF而不是HSSF?我找不到什么是XSSF或在哪里可以替换RY XWPFDocument类。文件的类型是什么?它是doc还是docx文件?word(doc或docx)如果使用XWPFDocument对您有效,然后,您需要首先确定文档的类型,然后分别使用HWPDocument和XWPFDocument类。无论我是使用XWPF还是HWPF,我都会在同一行中得到该错误---->HWPDocument hwpfd=新的HWPFDocument(fis);或者-->xwpfdocumentxwpfd=新的XWPFDocument(OPCPackage.open(fis));使用XWPFDocument时的stacktrace/错误消息肯定不同,或者?可以,但是stacktrace,即程序当时所在的代码位置不能相同,因为您在完全不同的类中调用了一个方法,所以请发布该消息,让我们看看您通过哪个代码路径获得相同的错误消息。
for (int i = 0; i < array.length; i++)
        {
            this.setPage(array[i]);
        }
POITextExtractor extractor = ExtractorFactory.createExtractor(file);
extractor.getText();