版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ethan__xu/article/details/89354780
如果poi版本为最新版本
package test;
import org.apache.poi.POIXMLDocument;
import org.apache.poi.POIXMLTextExtractor;
import org.apache.poi.hwpf.extractor.WordExtractor;
import org.apache.poi.openxml4j.opc.OPCPackage;
import org.apache.poi.xwpf.extractor.XWPFWordExtractor;
import org.springframework.util.StringUtils;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
public class PoiTest2 {
/**
* 读取word文件内容
*
* @param path
* @return buffer
*/
public String readWord(String path) {
String buffer = "";
try {
if (path.endsWith(".doc")) {
InputStream is = new FileInputStream(new File(path));
WordExtractor ex = new WordExtractor(is);
buffer = ex.getText();
ex.close();
} else if (path.endsWith("docx")) {
OPCPackage opcPackage = POIXMLDocument.openPackage(path);
POIXMLTextExtractor extractor = new XWPFWordExtractor(opcPackage);
buffer = extractor.getText();
extractor.close();
} else {
System.out.println("此文件不是word文件!");
}
} catch (Exception e) {
e.printStackTrace();
}
return buffer;
}
public static void main(String[] args) {
PoiTest2 tp = new PoiTest2();
String content = tp.readWord("C:\\Users\\Xiaofei\\Desktop\\新建 DOCX Document.docx");
if(!StringUtils.hasText(content)){
System.out.println("文档为空");
}
System.out.println("content===="+content);
}
}
如果poi版本为3.8-beta2
public class PoiTest2 {
/**
* 读取word文件内容
*
* @param path
* @return buffer
*/
private String readWord(String path){
String buffer = "";
try {
if (path.endsWith(".doc")){
InputStream is = new FileInputStream(new File(path));
WordExtractor ex = new WordExtractor(is);
buffer = ex.getText();
}else if (path.endsWith(".docx")){
FileInputStream fs = new FileInputStream(new File(path));
XWPFDocument xdoc = new XWPFDocument(fs);
XWPFWordExtractor extractor = new XWPFWordExtractor(xdoc);
buffer = extractor.getText();
}
}catch (Exception e){
e.printStackTrace();
}
return buffer;
}
public static void main(String[] args) {
PoiTest2 tp = new PoiTest2();
String content = tp.readWord("C:\\Users\\Xiaofei\\Desktop\\新建 DOCX Document.docx");
if(!StringUtils.hasText(content)){
System.out.println("文档为空");
}
System.out.println("content===="+content);
}
}