0

我试图将 doc 文件的内容显示到 jTextPane 中。但它只显示文档的最后一行,而在控制台上显示整个文档。我正在使用 Apache POI 库。

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){}
4

2 回答 2

1

jTextPane1.setText(fileData[i]);每次都会覆盖当前值。

相反,附加到基础文档:

Document doc = jTextPane1.getDocument();

// ... in your loop:
doc.insertString(doc.getLength(), fileData[i], null);
于 2013-05-01T10:32:58.117 回答
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(); }

所以你知道发生异常时会发生什么。

于 2013-05-01T10:33:27.270 回答