[英]How do I read *.doc into JTextPane?
我正在使用apache POI来阅读Word文档。 我正在使用此示例作为模板:
http://javamix.wordpress.com/2009/05/14/reading-data-from-the-doc-file-by-using-apache-poi-api/
问题是我希望内容读入JTextPane。 并且HWPFDocument无法识别insertString()。
从上面链接中的示例打印到控制台的'for'语句,如何更改它以打印到JTextPane(如果可能)?
这在Swing教程中有所介绍,更具体地说,请参阅“使用文本窗格的示例”一节。 从该教程复制以下代码段
String[] initString =
{ /* ... fill array with initial text ... */ };
String[] initStyles =
{ /* ... fill array with names of styles ... */ };
JTextPane textPane = new JTextPane();
StyledDocument doc = textPane.getStyledDocument();
addStylesToDocument(doc);
//Load the text pane with styled text.
try {
for (int i=0; i < initString.length; i++) {
doc.insertString(doc.getLength(), initString[i],
doc.getStyle(initStyles[i]));
}
} catch (BadLocationException ble) {
System.err.println("Couldn't insert initial text into text pane.");
}
您正在寻找的方法是StyledDocument#insertString
方法,如上所示
import java.io.*;
import org.apache.poi.hwpf.HWPFDocument;
import org.apache.poi.hwpf.extractor.WordExtractor;
public class ReadDocFile {
public static void main(String[] args) {
File file = null;
WordExtractor extractor = null ;
try {
file = new File("c:\\New.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++){
if(fileData[i] != null)
System.out.println(fileData[i]);
}
}
catch(Exception exep){}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.