java读取带格式word内容

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java读取带格式word内容相关的知识,希望对你有一定的参考价值。

我要从指定路径来获得一个word文件,然后把word里面的内容读取出来在jsp里面预览。但是不知道怎么回事总是会报错:java.lang.IllegalArgumentException: The document is really a RTF file
我的word文件是路径下面存在的doc文件啊!请问有没有谁知道是怎么回事可以帮助我一下。我的财富值不够,真心希望大家能热心 帮助,小妹感激不尽!
这是控制台的信息:

信息: 当前请求的URL:/ch_manage/lookGouTong(action)
要查看的文件名称是:F:\Tomcat 7.0\webapps\ch_manage\goutong_recoder\房顶上房顶上方式()_121026132506921.doc

用jacob.jar吧, 读取word还是挺方便的,也可以把word直接转换成html或者jsp。
而HTML也可以直接用BufferedReader()的方法来读取里面的数据再添加删除你需要的数据再转换成jsp。
你留个邮箱或者QQ的话 我可以给你发一些java用jacob类库操作word的方法。
POI和jxtl也可以操作追问

哇,呵呵 ,你真好。我的邮箱:18672842389@163.com
谢谢,摆脱把依赖包也发给我吧。呵呵!

追答

已发

参考技术A //被读取的文件,当然,文件要存在
File file = new File("d:/a.txt");

//用装饰模式,得到操作他们的对象(难)
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(file)));

String str;//读一行,存在这个string中

//读一行,输出一行
while(null != (str = br.readLine()))

System.out.println(str);


//关闭流
br.close();追问

额,谢谢额。控制台打印出都是乱码额。

参考技术B 麻烦给我也发一份呗,谢谢啦!meizhenii@126.com。需要读取格式、图片什么的 参考技术C 能帮忙发个给我吗?364892362@163.com。我现在是读取word文件的文本内容,但是读取不了文字的格式。我需要读取文字的格式,字体,大小之类的。

java读取word文件的内容

public static void main(String[] args)
try
String text = readDoc("E:///sw.doc");
System.out.println(text);
catch (Exception ex)
ex.printStackTrace();


public static String readDoc(String doc) throws Exception
// 创建输入流读取doc文件
FileInputStream in = new FileInputStream(doc);
WordExtractor extractor = new WordExtractor();
System.out.println("sadasdas");
String text = extractor.extractText(in);
return text;

报错
sadasdas
Exception in thread "main" java.lang.NoSuchMethodError: org.apache.poi.poifs.filesystem.POIFSFileSystem.getRoot()Lorg/apache/poi/poifs/filesystem/DirectoryEntry;
at org.textmining.text.extraction.WordExtractor.extractText(WordExtractor.java:51)
at favorite.FileStreamOperate.readDoc(FileStreamOperate.java:41)
at favorite.FileStreamOperate.main(FileStreamOperate.java:29)

WordExtractor的用法错了,你用下面的方法试试:

......
File file = new File(doc);
FileInputStream fileInputStream = getFileInputStream(file);
WordExtractor wordExtractor = new WordExtractor(fileInputStream);
String text = wordExtractor.getText();

......追问

getFileInputStream(file)是什么 报错啊?下面的3个步骤都报错了

追答

FileInputStream fileInputStream = new FileInputStream(file);你在试试

追问

还是不对 连编译都通不过

追答

poi-3.0.2的两个jar包,你加jar包了吗??

追问

只有一个啊 有两个吗?叫什么名字啊?

参考技术A 没有引jar 或者 jar冲突 参考技术B 没有导入poi相应的jar包,所以找不到相应的方法 参考技术C 把全部代码贴出来,瞧瞧追问

这个就是了 除了类名 都有了

追答

应该是你WordkExtractor这个类出了问题,你debug一下就知道了。

以上是关于java读取带格式word内容的主要内容,如果未能解决你的问题,请参考以下文章

java读取word内容并保留格式

java如何实现读取word文件并按指定word样式格式输出

java读取word文件的内容

你好,问一下java能不能读取word中指定位置的内容,比如书签的内容。

java中怎么实现读取word.doc文档分辨标题,文号,签发日期等信息

java读取word文件的问题