Examples: open method
- This example gets information on the normal files in a directory
by opening each file as a stream. The agent reuses the same NotesStream
object by opening and closing it for each file.
import lotus.domino.*; import java.io.File; public class JavaAgent extends AgentBase { public void NotesMain() { try { Session session = getSession(); AgentContext agentContext = session.getAgentContext(); // (Your code goes here) Stream stream = session.createStream(); int bytes = 0; File directory = new File("C:\\StreamFiles"); String[] files = directory.list(); for (int i = 0; i < files.length; i++) { if (stream.open(directory + "\\" + files[i])) { bytes = bytes + stream.getBytes(); stream.close(); } else throw new NotesException (NotesError.NOTES_ERR_FILEOPEN_FAILED, "Open failed"); } System.out.println("Number of files = " + files.length); System.out.println("Total bytes = " + bytes); } catch(NotesException e) { e.printStackTrace(); } catch(Exception e) { e.printStackTrace(); } } }
- This agent opens a file as a stream for reading.
import lotus.domino.*; public class JavaAgent extends AgentBase { public void NotesMain() { try { Session session = getSession(); AgentContext agentContext = session.getAgentContext(); // (Your code goes here) String inPath = "c:\\StreamFiles\\readme.txt"; // Get the input file Stream inStream = session.createStream(); if (inStream.open(inPath, "ASCII")) { if (inStream.getBytes() > 0) { Database db = agentContext.getCurrentDatabase(); Document doc = db.createDocument(); doc.replaceItemValue("Form", "Main Topic"); doc.replaceItemValue("Subject", inPath); doc.replaceItemValue("Body", inStream.readText()); inStream.close(); doc.save(true, true); } else System.out.println("Input file has no content"); } else System.out.println("Input file open failed"); } catch(NotesException e) { e.printStackTrace(); } catch(Exception e) { e.printStackTrace(); } } }
- This agent opens a file for writing.
import lotus.domino.*; public class JavaAgent extends AgentBase { public void NotesMain() { try { Session session = getSession(); AgentContext agentContext = session.getAgentContext(); // (Your code goes here) // Get the input file DocumentCollection dc = agentContext.getUnprocessedDocuments(); Document doc = dc.getFirstDocument(); String outPath = "c:\\StreamFiles\\" + doc.getItemValueString("Subject") + ".txt"; Stream outStream = session.createStream(); if (outStream.open(outPath, "ASCII")) { if (outStream.getBytes() == 0) { outStream.writeText(doc.getItemValueString("Body")); outStream.close(); } else System.out.println("Output file exists and has content"); } else System.out.println("Output file open failed"); } catch(NotesException e) { e.printStackTrace(); } catch(Exception e) { e.printStackTrace(); } } }