引入依赖
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.8</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-scratchpad</artifactId>
<version>3.8</version>
</dependency>
示例代码:
public class stream {
public static void main(String[] args) throws Exception {
stream tp=new stream();
String content = tp.readWord("src\\main\\resources\\img\\实习感受.doc");
System.out.println("content===="+content);
}
public String readWord(String path) {
String buffer = "";
try {
if (path.endsWith(".doc")) {
FileInputStream is = new FileInputStream(path);
final HWPFDocument hwpfDocument = new HWPFDocument(is);
final PicturesTable picturesTable = hwpfDocument.getPicturesTable();
final List<Picture> allPictures = picturesTable.getAllPictures();
for(Picture picture:allPictures){
int i =0;
final FileOutputStream fileOutputStream = new FileOutputStream("src\\main\\resources\\img33\\"+ UUID.randomUUID().toString() +picture.suggestFullFileName());
i++;
final BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(fileOutputStream);
bufferedOutputStream.write(picture.getContent());
bufferedOutputStream.close();
}
is.close();
FileInputStream is1 = new FileInputStream(path);
WordExtractor ex = new WordExtractor(is1);
buffer = ex.getText();
is1.close();
} else if (path.endsWith("docx")) {
int i = 0;
FileInputStream is = new FileInputStream(path);
final XWPFDocument xwpfDocument = new XWPFDocument(is);
final List<XWPFPictureData> allPictures = xwpfDocument.getAllPictures();
for(XWPFPictureData picture : allPictures) {
final FileOutputStream fileOutputStream = new FileOutputStream("src\\main\\resources\\img33\\"+ UUID.randomUUID().toString() +picture.getFileName());
i++;
final BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(fileOutputStream);
bufferedOutputStream.write(picture.getData());
bufferedOutputStream.close();
}
OPCPackage opcPackage = POIXMLDocument.openPackage(path);
POIXMLTextExtractor extractor = new XWPFWordExtractor(opcPackage);
buffer = extractor.getText();
opcPackage.close();
} else {
System.out.println("此文件不是word文件!");
}
} catch (Exception e) {
e.printStackTrace();
}
return buffer;
}
}