2012-09-01 107 views
0

我想知道如果有人能幫我弄清楚爲什麼當我讀取.doc文件時我的文本沒有排隊。到目前爲止,在我的代碼中,我使用了WordExtractor,但是我的格式問題與正確排列的東西沒有關係。這是我使用Java 1.7編寫的代碼。Apache POI格式問題

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

當然這不會工作。您正在將文檔文件的內容解壓縮爲字符串變量(這將扭曲格式化爲文檔,如段落和全部)。此外,您正在將文本打印到控制檯中,然後您希望它看起來完全類似於Microsoft的文字?

接下來,你應該想想你想做什麼。假設你想驗證文檔的格式和內容,我的答案如下。使用getText()將文檔轉換爲純文本將爲您提供扭曲格式的文檔內容,這對您沒有任何幫助。通過使用POI庫,您應該嘗試訪問文檔中的每個段落和表格,並驗證/讀取/寫入任何您想要的內容。

doc.getRange()會給你一個Range對象。通過參考http://poi.apache.org/apidocs/org/apache/poi/hwpf/usermodel/Range.html來玩這個對象,您將能夠訪問文檔中的所有段落,表格和部分。這應該有助於你通過程序來制定單詞文檔。