这几天在学习java io流的东西,有一个网友看到博客后问了一个问题,就是说他的doc文档为什么用我所说的方法死活就是乱码。

我一开始以为是他方法问题,结果自己试了之后发现和他的结果一样也是乱码。

于是在网上搜寻了一阵之后才发现原来doc文档和excel一样不能用普通的io流的方法来读取,而是也需要用poi,于是进行了一番尝试后,终于以正确的编码格式读取了这个doc文件。

在网上搜索的过程中发现doc和docx的读取方法是不一样的,于是顺带也学了一下docx文件的简单读取。

一、导包:

doc文件的读取,需要导入poi-scratchpad的jar包和相关依赖包:

docx文件读取,需要导入poi-ooxml的jar包和相关依赖包:

我用的是maven构建项目,相关的依赖包会自动导入,maven导包配置如下:

org.apache.poi

poi-ooxml

3.8

org.apache.poi

poi-scratchpad

3.8

二、读取文件的代码:

1、doc文件读取简单示例:

public static void readAndWriterTest3() throws IOException {

File file = new File("C:\\Users\\tuzongxun123\\Desktop\\aa.doc");

String str = "";

try {

FileInputStream fis = new FileInputStream(file);

HWPFDocument doc = new HWPFDocument(fis);

String doc1 = doc.getDocumentText();

System.out.println(doc1);

StringBuilder doc2 = doc.getText();

System.out.println(doc2);

Range rang = doc.getRange();

String doc3 = rang.text();

System.out.println(doc3);

fis.close();

} catch (Exception e) {

e.printStackTrace();

}

}

2、docx文件读取简单示例:

public static void readAndWriterTest4() throws IOException {

File file = new File("C:\\Users\\tuzongxun123\\Desktop\\aa.docx");

String str = "";

try {

FileInputStream fis = new FileInputStream(file);

XWPFDocument xdoc = new XWPFDocument(fis);

XWPFWordExtractor extractor = new XWPFWordExtractor(xdoc);

String doc1 = extractor.getText();

System.out.println(doc1);

fis.close();

} catch (Exception e) {

e.printStackTrace();

}

}

我并没有在工作中操作过word,这篇博客也只是一时兴起所做,因此写的很简单。

而最近陆续有朋友找我询问相关的问题,其中有好几个都在询问依赖包有哪些,为了避免一再回答这种问题,特将依赖包截图:

到此这篇关于java使用poi读取doc和docx文件的实现示例的文章就介绍到这了,更多相关java poi读取doc和docx内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

java 读取 doc_java使用poi读取doc和docx文件的实现示例相关推荐

  1. java读取docx_java使用poi读取doc和docx文件

    maven构建的项目-->pom.xml文件 eclipse提供Dependencies直接添加依赖jar包的工具:直接搜索poi以及poi-ooxml即可,maven会自动依赖需要的jar包: ...

  2. Java教程:使用POI读取excel文档(根据BV1bJ411G7Aw整理)

    Java教程:使用POI读取excel文档(根据BV1bJ411G7Aw整理) 最近公司需要我做一个导出Excel表格的功能,为此来学习一下POI,在这里记录一下学习笔记.B站直接搜BV1bJ411G ...

  3. Apache POI 读取 Word 表格数据(doc 和 docx 后缀)

    简要 因为实习工作的原因, 需要从 word 文件中读取数据,而这些 word 文件的内容都是表格的形式. 引入 jar 包 两种方式: 通过 Maven 引入到项目中(强烈推荐这种) <dep ...

  4. java 读取doc文件_如何在java中读取Doc或Docx文件?

    我想在 java中读一个word文件 import org.apache.poi.poifs.filesystem.*; import org.apache.poi.hpsf.DocumentSumm ...

  5. 一图看懂 docx 读取、查询、修改 Ms Word docx 文件, 资料整理+笔记(大全)

    本文由 大侠(AhcaoZhu)原创,转载请声明. 链接: https://blog.csdn.net/Ahcao2008 一图看懂 docx 读取.查询.修改 Ms Word docx 文件, 资料 ...

  6. php格式转换成docx,如何在PHP中修改.doc或.docx文件

    我必须修改php中上传的.doc或.docx文件.我用谷歌搜索,但我只发现了如何阅读,却没有. 我想要原样的Word文件,并将文本放在该MS Word文件的底部. 怎么可能有人知道,请回复. 谢谢, ...

  7. Python在Linux,Windows上打开有密doc,docx文件(密码已知)

    Python在Linux,Windows上打开有密doc,docx文件(密码已知) Linux Windows Linux Install: pip install msoffcrypto-tool ...

  8. php 上传.doc .docx文件,无法上传doc和docx文件

    在这里我试图上传pdf,doc和docx文件. PDF文件正在上传,但doc和docx文件未上传.我在form标记中保留了enctype="multipart/form-data" ...

  9. java使用poi读取doc和docx文件

    这几天在学习java io流的东西,有一个网友看到博客后问了一个问题,就是说他的doc文档为什么用我所说的方法死活就是乱码. 我一开始以为是他方法问题,结果自己试了之后发现和他的结果一样也是乱码. 于 ...

最新文章

  1. 丹佛斯变频器模拟量速度输入_变频器与PLC是如何协同作战的?了解这几个控制方式很有必要...
  2. 程序员应该知道的七个图形工具
  3. c++图的创建_使用 Amazon Neptune 构建基于图数据库的应用
  4. storm后台启动命令(避免新开窗口)
  5. 腾讯云副总裁答治茜:移动互联网破局要借助“三张网”
  6. DropDownList 控件不能触发SelectedIndexChanged 事件的另一个原因
  7. 如何更合理地选择图表形式
  8. C/C++——getline()详解
  9. 计算机重启是什么原因,电脑自动重启,该怎么办,到底是什么原因,我来详细说明?...
  10. java和js实现电话号码部分隐藏
  11. 识别视频文件夹,listview
  12. 税收学考试可以带计算机吗,注册税务师考试题型是不是都是选择题?能不能带计算器?...
  13. 差分密码分析读书报告
  14. android 限制后台进程,不超过4个进程 开发者选项,后台允许不超
  15. 最新邮箱密码破解方法
  16. Pyinstaller 打包exe运行时找不到源码,函数 错误 OSError: could not get source code
  17. L. Simone and graph coloring
  18. 【已解决】qlv格式转mp4(腾讯视频)
  19. react里面 内联css样式怎么样_简单的使用Radium管理React中的内联样式
  20. 语雀文章导入CSDN

热门文章

  1. 基于python的城市旅游数据采集分析系统
  2. 数据库三级考mysql还是sqlse_计算机三级考试数据库SQL语句整理
  3. 华为音乐·DigiX Talk论坛邀你聆听乐动不凡
  4. 世界地图可以无限放大_尼康显微镜CFI60无限远光学系统的结构图
  5. 学堂在线计算机辅助设计答案,计算机辅助设计(PROE)_习题集(含答案).doc
  6. 首次使用Selenium控制谷歌浏览器,进行一些简单自动化操作
  7. 林轩田机器学习技法(Machine Learning Techniques)笔记(三)
  8. 低代码自定义条码标签打印系统
  9. binutils工具集
  10. AttributeError: ‘list‘ object has no attribute ‘astype‘