java - 使用 Apache POI API 读取 "java.lang.ArrayIndexOutOfBoundsException"文件时获取 ".doc"

标签 java apache-poi

这是我遇到的异常:

Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 20203 at org.apache.poi.util.LittleEndian.getShort(LittleEndian.java:45) at org.apache.poi.hwpf.model.ListLevel.(ListLevel.java:120) at org.apache.poi.hwpf.model.ListFormatOverrideLevel.(ListFormatOverrideLevel.java:48) at org.apache.poi.hwpf.model.ListTables.(ListTables.java:88) at org.apache.poi.hwpf.HWPFDocument.(HWPFDocument.java:267) at org.apache.poi.hwpf.HWPFDocument.(HWPFDocument.java:157) at com.mahesh.MyFrame.readMSDocuments(MyFrame.java:301) at com.mahesh.MyFrame.readALLDocuments(MyFrame.java:276) at com.mahesh.MyFrame.access$1(MyFrame.java:269) at com.mahesh.MyFrame$2.actionPerformed(MyFrame.java:231) at javax.swing.AbstractButton.fireActionPerformed(Unknown Source) at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source) at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source) at javax.swing.DefaultButtonModel.setPressed(Unknown Source) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source) at java.awt.Component.processMouseEvent(Unknown Source) at javax.swing.JComponent.processMouseEvent(Unknown Source) at java.awt.Component.processEvent(Unknown Source) at java.awt.Container.processEvent(Unknown Source) at java.awt.Component.dispatchEventImpl(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Window.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source)

这是我的代码

private void readMSDocuments(String fileToRead) {

    boolean containsEditorAndMt = false;
    String fileEditorAndMt = null;
    dataArray = null;
    try {

        fis = new FileInputStream(new File(fileToRead).getAbsolutePath());
        fs = new POIFSFileSystem(fis);
        document = new HWPFDocument(fs);
        wordExtractor = new WordExtractor(document);
        dataList = new ArrayList();
        dataArray = wordExtractor.getParagraphText();//getParagraphText() reads paragraphs so problem is each paragraph is read a single line .u can see in console
        System.out.println(dataArray.length);
        if (dataArray.length >= 0) {


            for (int k = 0; k < dataArray.length; ++k) {

                if (dataArray[k].trim().length() > 0) {

                    dataList.add(dataArray[k].trim());
                    //System.out.println(fileToRead+" "+dataArray[k].trim()+"\n");
                }
            }
        }

    }
}

谁能帮我找出抛出异常的原因吗?

最佳答案

您正在使用 Apache POI API:
这是该域中的一个错误。

您可以通过this了解此bug并进行分析.

关于java - 使用 Apache POI API 读取 "java.lang.ArrayIndexOutOfBoundsException"文件时获取 ".doc",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10831683/

相关文章:

java - 我如何设置我的环境来构建我自己的 ril 库?

java - 暂停按钮仅短时间加扰音频

Java/C++ - 从相机偏航(航向)和俯仰(无滚动)获取 3d 线

java - Brian Goetz 谈 'final' 关键字

java - 如何创建 java poi 条形图,结合给定图像中的两个条形值?

java - 使用 Apache POI 编辑 Word 文档

java - 如何使用 Maven 获取所有必需的 Apache POI 库?

java - 理解类图

java - 如何读取apache poi 3.9中单元格中每个文本的字体颜色

java - Apache POI : Update cells in a named range