zoukankan      html  css  js  c++  java
  • Java 递归获取一个路径下的所有文件,文件夹名称

    方法1:

    代码

    import java.io.File;    
    
    /**  
     * 
     * 该类可以输出指定路径下所有的文件名(文件名和文件夹名)
     * 指定一个路径即可
     *  
     */  
    public class TakeFilePathAndName {    
    
        public static void main(String[] args) {   
            //这是需要获取的文件夹路径  
            String path = "/Users/XXY/Desktop/test";   
            getFile(path,0);   
        }   
    
        /*
         * 函数名:getFile
         * 作用:使用递归,输出指定文件夹内的所有文件
         * 参数:path:文件夹路径   deep:表示文件的层次深度,控制前置空格的个数
         * 前置空格缩进,显示文件层次结构
         */
        private static void getFile(String path,int deep){   
            // 获得指定文件对象  
            File file = new File(path);   
            // 获得该文件夹内的所有文件   
            File[] array = file.listFiles();   
    
            for(int i=0;i<array.length;i++)
            {   
                if(array[i].isFile())//如果是文件
                {   
                        for (int j = 0; j < deep; j++)//输出前置空格
                        System.out.print(" ");
                    // 只输出文件名字  
                    System.out.println( array[i].getName());   
                    // 输出当前文件的完整路径   
                   // System.out.println("#####" + array[i]);   
                    // 同样输出当前文件的完整路径   大家可以去掉注释 测试一下   
                   // System.out.println(array[i].getPath());   
                }
                else if(array[i].isDirectory())//如果是文件夹
                {  
                        for (int j = 0; j < deep; j++)//输出前置空格
                        System.out.print(" ");
    
                        System.out.println( array[i].getName());
                        //System.out.println(array[i].getPath());
                        //文件夹需要调用递归 ,深度+1
                    getFile(array[i].getPath(),deep+1);  
                }   
            }   
        }   
    } 

     

    方法2:

    package com.readfile;

     
    import java.io.File;
     
    public class GetAllFiles {
     
        public static void main(String[] args) {
            //路径   这里写一个路径进去
            String path="F:\QQ文档";
            //调用方法
            getFiles(path);
        }
     
        /**
         * 递归获取某路径下的所有文件,文件夹,并输出
         */
     
        public static void getFiles(String path) {
            File file = new File(path);
            // 如果这个路径是文件夹
            if (file.isDirectory()) {
                // 获取路径下的所有文件
                File[] files = file.listFiles();
                for (int i = 0; i < files.length; i++) {
                    // 如果还是文件夹 递归获取里面的文件 文件夹
                    if (files[i].isDirectory()) {
                        System.out.println("目录:" + files[i].getPath());
                        getFiles(files[i].getPath());
                    else {
                        System.out.println("文件:" + files[i].getPath());
                    }
     
                }
            else {
                System.out.println("文件:" + file.getPath());
            }
        }
    }
     
     
     
  • 相关阅读:
    Spring MVC Ajax 嵌套表单数据的提交
    Spring MVC 过滤静态资源访问
    Spring MVC 页面跳转时传递参数
    IDEA Maven 三层架构 2、运行 springMVC
    IDEA Maven 三层架构 1、基本的Archetype 搭建
    EasyUI DataGrid 基于 Ajax 自定义取值(loadData)
    Spring MVC Ajax 复杂参数的批量传递
    Mybatis Sql片段的应用
    在 Tomcat 8 部署多端口项目
    自动升级的设计思路与实现
  • 原文地址:https://www.cnblogs.com/wwjldm/p/8686427.html
Copyright © 2011-2022 走看看