使用Java从Lotus Notes文档获取.txt文件

时间:2015-10-03 10:56:07

标签: java lotus-notes lotus-domino

我使用java代码创建了注释,然后创建了富文本字段,如下所示

           doc = db.createDocument();
            doc.replaceItemValue("FROMMAIL", "sender@gmail.com");
            doc.replaceItemValue("SENDTO", "receiver@gmial.com");
            doc.replaceItemValue("SUBJECT", "NotesSlrWriter");
            DateTime s2 = sess.createDateTime(new Date());
            System.out.println("Setting date to: "
                    + s2.toJavaDate().toLocaleString());
            doc.replaceItemValue("POSTEDDATE", s2);

            RichTextItem t = doc.createRichTextItem("Attachements");
            t.appendText("Here is the Attachment");
            t.addNewLine(2);
            t.embedObject(EmbeddedObject.EMBED_ATTACHMENT, null,
                    "c:\\test\\test.txt", "testtxt");
            doc.save();

所以我知道从使用doc.getItemValue(arg0)值我可以得到我的java代码中其他字段的值。

但我不知道如何将Notes Document的Attachment字段中的test.txt导入我的java类

2 个答案:

答案 0 :(得分:1)

t.getEmbeddedObject("testtext")将为您提供EmbeddedObject

EmbeddedObject课程的文档为here

答案 1 :(得分:1)

如果您不知道文件名,可以浏览RichTextItem中的所有附件。

下面是扫描1 richtextitem并导出文件夹中所有文件的示例。

RichTextItem body = doc.getFirstItem("Attachements");
Vector v = body.getEmbeddedObjects();
Enumeration e = v.elements();
while (e.hasMoreElements()) {
   EmbeddedObject eo = (EmbeddedObject)e.nextElement();

   if (eo.getType() == EmbeddedObject.EMBED_ATTACHMENT) {
         System.out.println("\t" + eo.getName());
         eo.extractFile("c:\\extracts\\" + eo.getSource());
         eo.remove();
   }
}

还有另一种解决方案可以帮助您:

EmbeddedObject eo = doc.getAttachment("testtxt");
System.out.println(eo.getName());
eo.extractFile("c:\\extracts\\" + eo.getSource());