package cn.com.wlz.jndi;
import java.io.File;
import java.util.Hashtable;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
/**
* title:对文件系统的操作
* @author Administrator
* @msg:JNDI可访问的现有的目录及服务有:
DNS、XNam 、Novell目录服务、LDAP(Lightweight Directory Access Protocol 轻型目录访问协议)、 CORBA对象服务、文件系统、Windows XP/2000/NT/Me/9x的注册表、RMI、DSML v1&v2、NIS。
JNDI优点:
包含了大量的命名和目录服务,使用通用接口来访问不同种类的服务;
可以同时连接到多个命名或目录服务上;
建立起逻辑关联,允许把名称同Java对象或资源关联起来,而不必指导对象或资源的物理ID。
*/
public class TestJNDI {
public static void main(String[] args) {
//设置指定环境的上下文
Hashtable env = new Hashtable();
//设置上次文的工厂类
env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.fscontext.FSContextFactory");
//设置访问的服务和IP
env.put(Context.PROVIDER_URL, "file:\\E:/workspace/StuServlet");
try {
Context context = new InitialContext(env);//如果没有参数就表示当前的环境
File file = (File) context.lookup("学生管理.sql");
System.out.println(file);
System.out.println(file.length());//字节数的长度
} catch (NamingException e) {
e.printStackTrace();
}
}
}