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

论坛 期权论坛 脚本     
匿名技术用户   2021-1-7 07:48   11   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 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP