WindowsJNDI查询目录下所有的根目录

15 篇文章 0 订阅

当你想获得某一目录下的所有的目录时,使用系统的JNDI就可以帮你拿到所有的目录

package com.bihua.test;

import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileReader;
import java.util.Hashtable;

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

public class TestWindowsJNDI {
public static void main(String[] args) {
	//实例化Hashtable集合,参数都放String类型
	Hashtable<String, String> environment = new Hashtable<String, String>();;
	//windows中有一个工厂  初始化上下文工厂
	environment.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.fscontext.RefFSContextFactory");
	//2.指定目录
	environment.put(Context.PROVIDER_URL, "file:///d:\\桌面文件\\桌面");
	//获取某个文件夹下所有的文件和文件夹
	try {
		//示例化Context上下文  参数中放
		Context context=new InitialContext(environment);
		//获得所有的目录时,list中不要写东西,返回的是NamingEnumeration<NameClassPair>
		NamingEnumeration<NameClassPair>  namingEnumeration=context.list("");
		int i=0;
		//判断有很多的话,遍历集合,进行拿值
		while(namingEnumeration.hasMore()){
			i++;
			NameClassPair nameClassPair=namingEnumeration.next();
			System.out.println(nameClassPair.getName()+"     :        "+nameClassPair.getClassName());
		}
	} catch (Exception e) {
		e.printStackTrace();
	}
}
}
关于com.sun.jndi.fscontext.FSContext这个值的拿法,请查看 WindowsJNDI对文件用BufferedReader进行读取这篇博客
有不好的地方请多指教

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值