Java获取不到docx文档里某些部分的内容。

我在解析doc和docx的时候遇到一些问题,不知道大家是如何解决的。
不管doc还是docx,鼠标点在某一块,出现右边这一排东西的时候:
如图:图片说明
Java就获取不到里面的内容。而我用word转换成html的时候这一块地方就会变成图片。
而如果遇到以下这种情况:
如图:图片说明
Java是可以读取到里面的纯文本内容。我换了几种方法,都无法读取到第一种情况的内容。里面是空的。

方法1:

 File inputFile = new File("E:\\aaa.docx");
POITextExtractor extractor = ExtractorFactory.createExtractor(inputFile);
System.out.println(extractor.getText());

输出是空的。

方法2:

 String result = "";
FileInputStream fis = new FileInputStream(file);
XWPFDocument xdoc = new XWPFDocument(fis);
XWPFWordExtractor extractor = new XWPFWordExtractor(xdoc);
result = extractor.getText();
fis.close();
System.out.println(result);

输出还是空的。

方法3:

 String result = "";
FileInputStream fis = new FileInputStream(file);

WordExtractor ex = new WordExtractor(fis);
result = ex.getText().trim();
fis.close();
System.out.println(result);

这是报错的,好像这是读取doc的而非读取docx的吧。

方法4:

 try {
        BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(file), encode));
            String str = "";
            StringBuffer sb = new StringBuffer();
            while (null != (str = br.readLine())) {
                sb.append("\n");
                sb.append(str);
            }
            br.close();
            return sb.toString();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }

这个我换了很多种编码,都是乱码。我不知道到底他的编码格式到底是什么。

我已经把

 Charset.availableCharsets().keySet();

里面的所有编码都用一遍了。一直到解析得我的eclipse卡到闪退,都没发现什么编码是对的。。。。
其中我见到最多出现的就是 [Content_Types].xml ,但是不知道这啥意思。
如图:图片说明

请各位大神帮个忙,如何把图一里面的内容正确获取出来。谢谢了。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问