FileInputStream fis = new FileInputStream("test.docx"); XWPFDocument doc = new XWPFDocument(fis); // 替换文本 for (XWPFParagraph p : doc.getParagraphs()) { String text = p.getText(); if (text.contains("replace me")) { text = text.replace("replace me", "replaced"); p.setText(text); } }
时间: 2024-02-14 17:05:11 浏览: 103
Java将doc转docx工具类方法,maven项目,Idea可直接运行
5星 · 资源好评率100%
这段代码的作用是打开一个名为 "test.docx" 的 Word 文档,查找其中的 "replace me" 字符串并将其替换为 "replaced",然后将修改后的文本保存回原始文档中。
然而,这段代码存在一个问题:在替换文本后,应该使用 `p.setText(text)` 方法来设置段落的文本,而不是 `p.set(text)` 方法。因此,您需要将 `p.set(text)` 替换为 `p.setText(text)`,即:
```java
FileInputStream fis = new FileInputStream("test.docx");
XWPFDocument doc = new XWPFDocument(fis);
// 替换文本
for (XWPFParagraph p : doc.getParagraphs()) {
String text = p.getText();
if (text.contains("replace me")) {
text = text.replace("replace me", "replaced");
p.setText(text); // 修改此处
}
}
// 保存文档
FileOutputStream fos = new FileOutputStream("test.docx");
doc.write(fos);
fos.close();
doc.close();
```
这样修改后,代码就可以正常工作了。
阅读全文