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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值