2013-05-01 4 views
0

i m пытается отобразить содержимое файла doc в jTextPane. Но на нем отображается только последняя строка документа, а на консоли отображается весь документ. Я использую библиотеку POI Apache.Отображение содержимого файла doc в jTextPane

File file = null; 
    WordExtractor extractor = null ; 
    try { 

     file = new File("C:\\Users\\Siddique Ansari\\Documents\\CV Parser\\Siddique_Resume.doc"); 
     FileInputStream fis=new FileInputStream(file.getAbsolutePath()); 
     HWPFDocument document=new HWPFDocument(fis); 
     extractor = new WordExtractor(document); 
     String [] fileData = extractor.getParagraphText(); 
     for(int i=0;i<fileData.length;i++){ 
      System.out.println(fileData[i]); 
      jTextPane1.setText(fileData[i]); 

     } 
    } 
    catch(Exception exep){} 

ответ

1

jTextPane1.setText(fileData[i]); будет переопределять текущее значение каждый раз.

Вместо добавления к базовому документу:

Document doc = jTextPane1.getDocument(); 

// ... in your loop: 
doc.insertString(doc.getLength(), fileData[i], null); 
1

вместо:

for(int i=0;i<fileData.length;i++){ 
    System.out.println(fileData[i]); 
    jTextPane1.setText(fileData[i]); 
} 

попробовать

StringBuilder content = new StringBuilder(); 
for(int i=0; i < fileData.length; i++){ 
    System.out.println(fileData[i]); 
    content.append(fileData[i]).append("\n"); 
    jTextPane1.setText(content.toString()); 
} 

Кроме того,

catch(Exception exep){} 

никогда не является хорошей идеей. По крайней мере, напишите:

catch(Exception exep) { exep.printStackTrace(); } 

, чтобы вы знали, что происходит, когда происходит перехват.

Смежные вопросы