I had a recent application that needed to go to a certain directory on the server and import files into Notes documents. Java has very powerful IO features, so I opted for a Java agent. The code below imports both the Lotus.Notes package and the Java.IO package. The IO package contains a class called File. This class has several powerful methods and properties far beyond what I have used. See the Javadoc:
import lotus.domino.*;
import java.io.*;
public class ImportDocuments extends AgentBase{
Session s;
AgentContext ac;
Database db;
public void NotesMain() {
try {
s = getSession();
ac = s.getAgentContext();
db = ac.getCurrentDatabase();
AnalyzeFiles();
} catch(Exception e) {
e.printStackTrace();
}
}
public void AnalyzeFiles(){
try{
String curDir = "C:\\ftptemp";
File dir = new File(curDir);
String[] mylist = dir.list(); //creates an array of
file names in the directory specified by curDir
for (int i=0; i<mylist.length; ++i){
CreateNotesDocs(mylist, i, curDir);
}
}
catch(Exception e){
e.printStackTrace();
}
}
public void CreateNotesDocs(String[] mylist, int i,
String curDir){
try{
Document doc = db.createDocument();
doc.replaceItemValue("docname", mylist[i]);
RichTextItem body = doc.createRichTextItem("body");
body.embedObject(EmbeddedObject.EMBED_ATTACHMENT, null, curDir + "\"
+ mylist[i], null);
doc.computeWithForm(true,false);
doc.save(true,true);
}
catch(Exception e){
e.printStackTrace();
}
}
}
This was first published in March 2002