searchcountlimit.java

来自「JAVA 工作指南 可以说是程序员必备的东西哦」· Java 代码 · 共 63 行

JAVA
63
字号
import javax.naming.*;import javax.naming.directory.*;import java.util.Hashtable;/** * Demonstrates how to perform a search and limit the number of * results returned. * * usage: java SearchCountLimit */class SearchCountLimit {    static int expected = 1;    public static void printSearchEnumeration(NamingEnumeration srhEnum) {	int count = 0;	try {	    while (srhEnum.hasMore()) {		SearchResult sr = (SearchResult) srhEnum.next();		System.out.println(">>>" + sr.getName());		++count;	    }	    System.out.println("number of answers: " + count);	} catch (SizeLimitExceededException e) {	    if (count == expected)		System.out.println("number of answers: " + count);	    else		e.printStackTrace();	} catch (NamingException e) {	    e.printStackTrace();	}    }    public static void main(String[] args) {	// Set up the environment for creating the initial context        Hashtable<String, Object> env = new Hashtable<String, Object>(11);	env.put(Context.INITIAL_CONTEXT_FACTORY, 	    "com.sun.jndi.ldap.LdapCtxFactory");	env.put(Context.PROVIDER_URL, "ldap://localhost:389/o=JNDITutorial");	try {	    // Create initial context	    DirContext ctx = new InitialDirContext(env);	    // Set search controls to limit count to 'expected'	    SearchControls ctls = new SearchControls();	    ctls.setCountLimit(expected);	    // Search for objects with those matching attributes	    NamingEnumeration answer = 		ctx.search("ou=People","(sn=M*)", ctls );	    // Print the answer	    printSearchEnumeration(answer);	    // Close the context when we're done	    ctx.close();	} catch (Exception e) {	    System.err.println(e);	}    }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?