Java中如何用I/O流读取一个Word文档的内容

如题所述

public ActionForward readWordFile (ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response) {
try {
/*FileInputStream in = new FileInputStream("F:\\abc.doc.doc");
*/
TextFileForm fileForm = (TextFileForm) form;
FormFile formFile = fileForm.getTxtFile();
if (formFile.getFileData().length == 0) {
response.setCharacterEncoding("gb2312");
response.getWriter().write("");
}
InputStream in = formFile.getInputStream();
WordExtractor extractor = new WordExtractor();

String str = extractor.extractText(in);

// System.out.println(str);
} catch (Exception e) {
e.printStackTrace();
}
return null;
}code]

我曾经项目中用到过读取word,你用不到的逻辑我已经删掉了,这段代码就是负责读取word的,file是通过struts提交得到的。你也可以用注释中的代码,就可以实现你想要的那种指定url了,两种方式你选择。不过要考虑客户端还是服务器 呵呵

对啦,最重要的一点,需要tm-extractors-0.4.jar包,你Google一下吧
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-12-31

    通过流来读取,例如:

TextFileForm fileForm = (TextFileForm) form; 
FormFile formFile = fileForm.getTxtFile(); 
if (formFile.getFileData().length == 0) { 
response.setCharacterEncoding("gb2312"); 
response.getWriter().write(""); 

InputStream in = formFile.getInputStream(); 
WordExtractor extractor = new WordExtractor(); 

String str = extractor.extractText(in);
这段代码就是负责读取word的

第2个回答  2020-04-27

添加spire.doc.jar为依赖,使用下面的代码可以读取word文档内容到txt文档

    import com.spire.doc.Document;

    import com.spire.doc.FileFormat;

    import java.io.IOException;


    public class ConvertWordToOtherFormats {


        public static void main(String[] args) throws IOException {


            //创建Document对象

            Document doc = new Document();

            //加载Word文档

            doc.loadFromFile("C:\\Users\\Administrator\\Desktop\\test.docx");

            //将Word保存为TXT格式

            doc.saveToFile("ToTXT.txt",FileFormat.Txt);

        }

第3个回答  2014-11-01
POI等开源库,可以读到里面的文字等级