这个太弱了,几乎不能用,给个代码自已看看吧import java.io.*;
import java.util.*;import org.apache.poi.poifs.filesystem.*;
import org.apache.poi.util.*;
import wfc.service.log.*;
import wfc.service.util.*;public class WordParser
    extends IParser {  /**
   * 解析文档, 获得文档正文
   * @param content 原始文档内容
   * @return 文档正文
   */
  public String parseFromContent(String content) {
    InputStream stream = new ByteArrayInputStream(content.getBytes());
    return parse(stream);
  }  /**
   * 解析文档, 获得文档正文
   * @param filename 文件名称
   * @return 文档正文
   */
  public String parseFromFile(String filename) {
    try {
      InputStream stream = new FileInputStream(filename);
      return parse(stream);
    }
    catch (FileNotFoundException ex) {
      Log.error(ex);
      return null;
    }
  }  private String parse(InputStream stream) {
    try {
      POIFSFileSystem fs = new POIFSFileSystem(stream);
      DirectoryEntry rootEntry = fs.getRoot();
      StringWriter writer = new StringWriter();
      recurse(rootEntry, writer);
      return new String(writer.getBuffer());
    }
    catch (IOException ex) {
      Log.error(ex);
      return null;
    }
  }  private void recurse(Entry entry, StringWriter writer) throws IOException {
    if (entry instanceof DirectoryEntry) {
      DirectoryEntry dirEntry = (DirectoryEntry) entry;
      for (Iterator iter = dirEntry.getEntries(); iter.hasNext(); ) {
        Entry e = (Entry) iter.next();
        recurse(e, writer);
      }
    }
    else if (entry instanceof DocumentEntry &&
             "WordDocument".equals(entry.getName())) {
      DocumentEntry docEntry = (DocumentEntry) entry;
      DocumentInputStream dis = new DocumentInputStream(docEntry);
      byte[] by = StreamHelper.toByteArray(dis);
      writer.write(StringUtil.getFromUnicodeHigh(by));
    }
  }}