java如何得到盘符的所有路径

我改如何获取此地址,这里是在控制台打印地址但是我想得到此地址,放进一个String[]中... 我改如何获取此地址, 这里是在控制台打印地址
但是我想得到此地址, 放进一个String[]中
展开
 我来答
匿名用户
推荐于2016-08-31
展开全部
import java.io.File;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class GetDir {

//用于存储地址的动态数组
private static List addresses = new ArrayList();

//用于存储地址的数组
private static Object[] addresses_str = null;

public static void main(String[] args) {
System.out.println("请稍等,数据加载需要一定时间............................");
getDirInTray(new File("C:/"));

//测试动态数组列表内容是否是所有地址
for(Iterator ite = addresses.iterator();ite.hasNext();){
System.out.println(ite.next());
}

System.out.println("============================================================");

//通过字符串数组进行接收所有路径
addresses_str =addresses.toArray();
//打印该数组,确保正确
for(int i = 0;i<addresses_str.length;i++){
System.out.println(addresses_str[i]);
}
}

//得到指定盘符dir下所有路径
/*
* @param dir表示需要指定的盘符
* */
public static void getDirInTray(File dir){
//获取指定盘符下的所有文件列表。(listFiles可以获得指定路径下的所有文件,以数组方式返回)
File[] files = dir.listFiles();

//如果该目录下面为空,则该目录的此方法执行
if(files == null){
return;
}

//通过循环将所遍历所有文件
for(int i=0;i<files.length;i++){

//isDirectory方法用于判断当前的文件是不是路径,如果是就返回true
if(files[i].isDirectory()){

//如果是路径,则通过getAbsolutePath得到它的绝对路径,并打印到控制台
//System.out.println(files[i].getAbsolutePath());

//将路径加到List中
addresses.add(files[i].getAbsolutePath());

//通过递归算法调用自身,进行对当前文件的getDirInTray方法的调用
getDirInTray(files[i]);
}
}
}
}
/*
* 这里的难点主要在递归算法,如果你懂了,那就很容易理解
* 大量用到了File类的API,可以借助于JDK进行对File类的API进行更深入的了解
* */
/*
我先放在了动态数组ArrayList中,然后将动态数组转换成Object[]数组。
*/
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式