我想从"标题1"中提取word文档中的所有文本。 Currelenty我有以下代码:
public static void Alina(String bestand, String kop) throws Exception {
FileInputStream fis = new FileInputStream(bestand);
XWPFDocument xdoc=new XWPFDocument(OPCPackage.open(fis));
List<XWPFParagraph> paragraphList = xdoc.getParagraphs();
int aantal = 0;
for (XWPFParagraph paragraph: paragraphList) {
if (paragraph.getStyle().equals(kop)) {
System.out.println("aantal keer door document :" +" " + aantal++);
System.out.println(paragraph.getText());
} else {
System.out.println("Test");
break;
}
}
}
如果我这样做,他只提取前两个&#34;标题&#34;击中空格或其他文本后退出。 有人有想法解决这个问题吗? 提前谢谢。
PS。 Kop意味着荷兰人的标题。
*编辑:如果我删除了break语句,我得到相同的输出,然后他退出Exception in thread "main" java.lang.NullPointerException
答案 0 :(得分:0)
如果您的程序找到的段落没有&#34; kop&#34;样式
if(paragraph.getStyle().equals(kop))
然后它会退出for loop
。我认为你应该删除break
,而是继续遍历所有段落并检查它们是否具有必要的风格。
检查kop != null
并正确处理。如果您确定kop不为null,请执行以下操作。
for (XWPFParagraph paragraph: paragraphList)
{
if(kop.equals(paragraph.getStyle()))
{
System.out.println("aantal keer door document :" +" " + aantal++);
System.out.println(paragraph.getText());
}
else
{
System.out.println("Test");
}
}