例: close method (Stream - Java™)

次の例は、ディレクトリ内にある通常のファイルの情報を取得します。情報の取得は、各ファイルをストリームとして開いて行います。エージェントは、ファイルごとに同じ NotesStream オブジェクトを開いたり閉じたりして再利用します。

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();
    }
  }
}