Как удалить определенный абзац в docx, содержащий определенную строку, используя Apache POI - PullRequest
0 голосов
/ 25 июня 2018

Я пытаюсь удалить определенный абзац документа, содержащего определенную строку, используя Apache POI. Я нашел фрагмент кода во втором ответе здесь:

https://stackoverflow.com/a/44326734/8504176

FileInputStream fis = new FileInputStream(fileName);
XWPFDocument doc = new XWPFDocument(fis);
fis.close();
// Find a paragraph with todelete text inside
XWPFParagraph toDelete = doc.getParagraphs().stream().filter(p -> StringUtils.equalsIgnoreCase("todelete", p.getParagraphText()))
        .findFirst().orElse(null);
if (toDelete != null) 
  {
    doc.removeBodyElement(doc.getPosOfParagraph(toDelete));
    OutputStream fos = new FileOutputStream(fileName);
    doc.write(fos);
    fos.close();
 }

Но equalsIgnoreCase () выдает ошибку, а я ее не получаю:

Исключение в потоке "main" java.lang.RuntimeException: не компилируется Исходный код - ошибочный тип sym: com.sun.xml.internal.ws.util.StringUtils.equalsIgnoreCase

Как решить эту проблему? Заранее спасибо

...