`

JNDI

 
阅读更多
操纵相对程序运行的盘的根目录
package com.cauc.jndi;

import java.util.Hashtable;

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NameClassPair;
import javax.naming.NamingEnumeration;
import javax.naming.NamingException;

public class ReadFile {
	public static void main(String[] args) {

		Hashtable env = new Hashtable();
		// 设置JNDI工厂类,指明Service provider是文件系统.
		env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.fscontext.RefFSContextFactory");
		// 设置JNDI文件路径
		env.put(Context.PROVIDER_URL, "file:/C:/");
		try {
			Context ctx = new InitialContext(env);
			// 初始化上下文
			NamingEnumeration list = ctx.list("Program Files");
			while (list.hasMore()) {
				NameClassPair ne = (NameClassPair) list.next();
				System.out.println(ne);
			}
			ctx.close();
		} catch (NamingException e) {
			System.err.println("file:/C: failed: " + e);
		}
	}
}




package com.cauc.jndi;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.Hashtable;

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NameClassPair;
import javax.naming.NamingEnumeration;
import javax.naming.NamingException;

public class TestRead {

	public static void main(String[] args) throws IOException {
		try {
			Hashtable env = new Hashtable();
			// 设置JNDI工厂类,指明Service provider是文件系统.
			env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.fscontext.RefFSContextFactory");
			// 设置JNDI文件路径
			env.put(Context.PROVIDER_URL, "file:/C:/");
			// 初始化上下文
			Context ctx = new InitialContext(env);
			// 循环显示在JNDI中的所有资源名与类型
			NamingEnumeration list = ctx.list("/");
			while (list.hasMore()) {
				NameClassPair nc = (NameClassPair) list.next();
				System.out.println(nc);
			}
			// 查找文件
			File file = (File) ctx.lookup("aaa.txt");
			// 读取文件
			BufferedReader bw = new BufferedReader(new FileReader(file));
			String line = bw.readLine();
			while (line != null) {
				System.out.println(line);
				line = bw.readLine();
			}
		} catch (NamingException e) {
			e.printStackTrace();
		}
	}
}

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics