java如何打开doc
使用Apache POI库读取Word文档
Apache POI是一个流行的Java库,用于处理Microsoft Office格式文件(如DOC/DOCX)。
依赖配置(Maven):
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>5.2.3</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-scratchpad</artifactId>
<version>5.2.3</version>
</dependency>
代码示例:
import org.apache.poi.hwpf.HWPFDocument;
import org.apache.poi.hwpf.extractor.WordExtractor;
import java.io.FileInputStream;
public class ReadDocFile {
public static void main(String[] args) throws Exception {
FileInputStream fis = new FileInputStream("example.doc");
HWPFDocument document = new HWPFDocument(fis);
WordExtractor extractor = new WordExtractor(document);
String text = extractor.getText();
System.out.println(text);
extractor.close();
}
}
使用Tika库解析文档内容
Apache Tika支持多种文档格式(包括DOC),自动检测文件类型并提取内容。
依赖配置(Maven):
<dependency>
<groupId>org.apache.tika</groupId>
<artifactId>tika-core</artifactId>
<version>2.6.0</version>
</dependency>
<dependency>
<groupId>org.apache.tika</groupId>
<artifactId>tika-parsers</artifactId>
<version>2.6.0</version>
</dependency>
代码示例:
import org.apache.tika.Tika;
import java.io.File;
public class ReadDocWithTika {
public static void main(String[] args) throws Exception {
Tika tika = new Tika();
String content = tika.parseToString(new File("example.doc"));
System.out.println(content);
}
}
处理DOCX文件
DOCX是较新的Office格式,需使用XWPFDocument(POI的子模块)。
依赖配置:
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>5.2.3</version>
</dependency>
代码示例:

import org.apache.poi.xwpf.extractor.XWPFWordExtractor;
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import java.io.FileInputStream;
public class ReadDocxFile {
public static void main(String[] args) throws Exception {
FileInputStream fis = new FileInputStream("example.docx");
XWPFDocument document = new XWPFDocument(fis);
XWPFWordExtractor extractor = new XWPFWordExtractor(document);
System.out.println(extractor.getText());
extractor.close();
}
}
注意事项
- DOC格式(
.doc)需使用HWPFDocument,DOCX(.docx)需使用XWPFDocument。 - 文件路径需替换为实际路径,并处理
IOException。 - 若文档包含复杂格式(表格、图片),需额外处理逻辑。






