Java 如何从文档文件中读取嵌入对象?

Java 如何从文档文件中读取嵌入对象?,java,apache-poi,Java,Apache Poi,我正在尝试使用POIFS文件系统读取.doc文件中的嵌入文档。据此,有一个ObjectPool目录,其中包含所有嵌入文档,尤其是文档文件。 我找到了目录,但不知道怎么读这些文件 请建议阅读这些文件的任何方式。如果POIFS不是合适的方法,那么请建议其他库 我的代码是: 您是否尝试阅读和?是的,我已经阅读了这些链接,并以相同的方式进行了尝试。我找到了嵌入文件的位置,但无法读取文件的内容。请提供一个从嵌入文件中读取内容的示例代码。是否有人建议提取和读取嵌入文件的通用方法。您是否尝试在Apache

我正在尝试使用POIFS文件系统读取.doc文件中的嵌入文档。据此,有一个ObjectPool目录,其中包含所有嵌入文档,尤其是文档文件。
我找到了目录,但不知道怎么读这些文件
请建议阅读这些文件的任何方式。如果POIFS不是合适的方法,那么请建议其他库

我的代码是:


您是否尝试阅读和?是的,我已经阅读了这些链接,并以相同的方式进行了尝试。我找到了嵌入文件的位置,但无法读取文件的内容。请提供一个从嵌入文件中读取内容的示例代码。是否有人建议提取和读取嵌入文件的通用方法。您是否尝试在Apache POI网站上使用该代码?如果是,您发现了什么问题?若否,原因为何?如果你展示你的代码,我们可以帮助你更好…谢谢你的支持。我已经找到了读取嵌入文档内容的方法,但我想提取整个嵌入文件。我已经在问题中插入了代码。请查看代码并帮助我。
 public static void ReadCSV(String fileName) throws IOException{
    FileInputStream myInput = new FileInputStream(fileName);
    POIFSFileSystem fs = new POIFSFileSystem(myInput);
    HSSFWorkbook workbook = new HSSFWorkbook(fs);
    for (HSSFObjectData obj : workbook.getAllEmbeddedObjects()) {
        //the OLE2 Class Name of the object
        System.out.println("Objects : "+ obj.getOLE2ClassName()+ "   2 .");
        String oleName = obj.getOLE2ClassName(); 
        if (oleName.equals("Worksheet")) {
            // some code to process embedded excel file;
        } else if (oleName.equals("Document")) {
            System.out.println("Document");
            DirectoryNode dn = (DirectoryNode) obj.getDirectory();
            HWPFDocument embeddedWordDocument = new HWPFDocument(dn,fs);
            System.out.println("Doc : " + embeddedWordDocument.getRange().text());
            // want to extract document not text into a doc file
            //************************
            FileOutputStream fos = new FileOutputStream("E:\\log.txt");
            fos.write(text.getBytes());
            //************************
         }  else if (oleName.equals("Presentation")) {
            // some code to process embedded power point file;
         } else {
            // some code to process other kind of embedded files;
      }
   }
}