java如何得到盘符的所有路径
1个回答
展开全部
//用于存储地址的动态数组
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]);}}}}/** 这里的难点主要在递归算法,如果你懂了,那就很容易理解
*/
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询