我想知道当我读取.doc文件时是否有人可以帮我弄清楚为什么我的文字没有排队。到目前为止,在我的代码中,我使用的是WordExtractor,但是我遇到的格式问题是没有正确排列的东西。这是我使用Java 1.7编写的代码。
public class Doc {
File docFile = null;
WordExtractor docExtractor = null ;
WordExtractor exprExtractor = null ;
public void read(){
docFile = new File("blue.doc");
try{
FileInputStream fis = new FileInputStream(docFile.getAbsolutePath());
HWPFDocument doc=new HWPFDocument(fis);
docExtractor = new WordExtractor(doc);
}catch(Exception e){
System.out.println(e.getMessage());
}
System.out.println(docExtractor.getText());
}
}
程序如何显示文档。
A E
I'm stuck in Folsom Prison, and time keeps draggin on.
它应该像这样显示
A E
I'm stuck in Folsom Prison, and time keeps draggin on.
答案 0 :(得分:0)
当然这不起作用。您正在将文档文件的内容提取到字符串变量中(这会将格式转换为文档,如段落和所有内容)。此外,您将文本打印到控制台,然后您希望它看起来与Microsoft Word中的完全一样?
接下来,你应该想想你想做什么。假设您要验证文档的格式和内容,我的答案如下。使用getText()
将文档转换为纯文本将以扭曲的格式提供文档内容,这对您没有帮助。通过使用POI库,您应该尝试访问文档中的每个段落和表格,并验证/读取/写入您想要的任何内容。
doc.getRange()
会给你一个Range对象。通过引用http://poi.apache.org/apidocs/org/apache/poi/hwpf/usermodel/Range.html来播放此对象,您将能够访问文档中的所有段落,表格和部分。这应该可以帮助你通过程序编制word文档。