【发布时间】:2018-02-01 07:25:20
【问题描述】:
我有一个word文档 Docx file
正如您在 word 文档中看到的那样,有许多关于要点的问题。现在我正在尝试使用 apache POI 从文件中提取每个段落。这是我当前的代码
public static String readDocxFile(String fileName) {
try {
File file = new File(fileName);
FileInputStream fis = new FileInputStream(file.getAbsolutePath());
XWPFDocument document = new XWPFDocument(fis);
List<XWPFParagraph> paragraphs = document.getParagraphs();
String whole = "";
for (XWPFParagraph para : paragraphs) {
System.out.println(para.getText());
whole += "\n" + para.getText();
}
fis.close();
document.close();
return whole;
} catch (Exception e) {
e.printStackTrace();
return "";
}
}
上述方法的问题在于它打印的是每一行而不是段落。此外,要点也从提取的whole 字符串中消失。 whole 返回一个纯字符串。
谁能解释我做错了什么。如果您有更好的解决方法,请提出建议。
【问题讨论】:
-
你想要达到的最终结果是什么?
-
@hovanessyan 我试图将每个段落或问题作为一个单独的字符串。所以基本上我试图将此 docx 文件转换为一个字符串数组,其中每个字符串都是一个段落。
-
可能有多种方法可以实现最终结果——这就是为什么我要问想要的结果是什么。您正在编写一个程序来解决问题,而不是拥有一个充满字符串的数组 - 您要解决的问题是什么?
-
您在类路径/项目中引用了哪个版本的 Apache POI?